Fixed a minor bug in removeRedundantPhases.

Since the minimization function used for removeRedundantPhases could be
slightly different than the function used in traceMinimum, it can happen that
the minimization in the former can drop into a different phase entirely. This
should only happen at either the beginning or the end of a phase (where the
phase disappears and the minimization can be unstable), so the fix does a
simple check to see if the minimization is being done at the end points, and
if it is, it just uses the end point instead of redoing the minimization.
Added additional subclassing instructions.
Fixed bugs in transitionFinder.tunnelFromPhase().
Tunneling should now work even when there is a barrier at T=0.

The first bug was easy to fix: I was using a size-1 numpy array where
I should have been using a float. This caused hash errors.

The other bug was that the minimization routine to find the point of
highest tunneling rate (S/T) would get stuck in regions where tunneling
couldn't happen at all. I've added some extra logic to make sure that
the initial guess for the minimization is more reasonable.
Fixed a critical bug in SingleFieldInstanton.findAction() (was missing
a factor of 0.5).
Better error handling in SingleFieldInstanton.findRScale().
Changing version number to v2.0a2.