These headers should only include general functionality, i.e. base classes and
factory methods. Users working directly with derived types can include the
relevant headers directly.
Deprecate some top-level headers which are not really useful.
Allow non-reactant orders for electrochemical reactions
Allow negative orders specifically requested, e.g. by setting the
'negative_orders' option in the CTI definition of the reaction.