Can now specify units of GLE thermostat matrices in input file.

This allows the user some flexibility in choice of units for the GLE A
and C matrices. The former has units of inverse time (frequency) and the
latter has units of temperature. A new function for handling unit
conversions of frequencies was added to the quantity module.
Removed calculation of "old" recrossing factor.

The newer formulation of the recrossing factor expression is
significantly better in that it is guaranteed to approach unity at time
zero and give a slightly better value at long times. The old formulation
was simply included as a check, and is now deleted to avoid confusion on
the part of the end user as to which to use.
Added blas_lapack.f90 with needed subset of BLAS for GLE thermostat.

This way we don't have to worry about the details of the end user's BLAS
and LAPACK configuration. (What we are using BLAS for is probably not the
time-critical step in the simulation, so it's less important to use a
really optimized implementation for our purposes.)
Added rpmdrate.interpolate module with several interpolation methods.

This eliminates the dependency on scipy.interpolate, which can be
difficult to install on older platforms. A linear interpolator is now
used instead of a spline for the potential of mean force calculation,
which shouldn't be a problem since many bins can be used to make the
range of interpolation very small.
Attempt to induce more immediate flush of file output in Python.

In principle we shouldn't need to do this, because we want to let the
OS decide how to write output to disk. However, since we are carrying
out rather expensive computations, we want to ensure that the results
are saved immediately so we don't have to repeat them. This is
supposedly done with ``f.flush(); os.fsync(f.fileno())``. I've added
this code snippet in several places to encourage immediate flushing of
written buffers.
Use different formatting code for reaction coordinate in file names.

The "%g" code renders the value of zero differently on various platforms,
which can be annoying when running jobs on different computers. The new
format code "%.4f" should be much more consistent in this regard.
(Hopefully four decimal places is sufficient; this is generally more than
I would consider reporting in a publication.)
Transition state dividing surface can now handle multiple bond pairs.

The transition state dividing surface is now defined as the minimum over
the bonds of the maximum over the equivalent transition states of the
difference between the forming and breaking bond lengths and their
values in the transition state. This formulation implies that, at
s1(q) > 0, all bonds are on the product side of the dividing surface.
This will be useful when working with reactions that involve multiple
pairs of forming and breaking bonds, although I don't have any to test
with at the moment.

Note that this implementation requires that each forming bond be paired
with a breaking bond. Many reaction families with a significant reaction
barrier fall into this category, but not all.
More sanity checking of transition state bond lists.

The new tests ensure that the bonds are paired properly (i.e. each bond
is paired, and each pair shares exactly one atom in common).