suzerain: hack to pickle perfect gas data

This is fairly ugly-- pickling the perfect gas, primitive-only
data did not work because the namedtuples were defined in
process(...) scope and not in the toplevel module.  Sans a
class definition, pickling was hosed.  The logic now defines
toplevel classes suitable for pickling and overrides the definitions
iff reacting data is used.  This is brittle if anyone ever wants
to pickle reacting data sets.

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@45521 0bd85f0b-c151-43b9-a1e9-27231104551f