H2 formation done right

1. Both moment equation and rate equation for the formation of H2 are
   implemented.
2. The reaction rates of the two cases are checked by eye many times.  Maybe
   re-check later when feeling good.
3. The f and jac functions are rewritten.  Now the switches are based on
   reaction types, instead of number of reactants.
   The f and jac functions are prone to errors, jac especially.
   Rethink about a better way if I have time.
4. The moment equation approach and the formation of H2 is implemented in a
   "dirty" way.  May be improved later.
5. The heating rate due to H2 formation is re-implemented.  The formation rate
   of H2 is calculated in the controller module (disk.f90), and the
   heating_cooling module simply accepts this rate and multiply a number (the
   energy released by each formation of H2) to it.
   The heating and cooling module does not have to switch between moment
   equation or rate equation.