This allows the elimination of a number of duplicate input files.
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.
Use the implementation of StoichSubstanceSSTP (descended from SingleSpeciesTP) but change the name to StoichSubstance.