Add 'States' option

This introduces a second way to specify the discrete state space --
instead of giving the distance between points, one can now give the
number of points instead.

This also introduces some checks to try to reduce rounding errors
involving very small state step sizes.
fixes for speed tests

Keep the time-step size constant for speed tests.  This is changed
because altering it seems to increase the number of iterations needed
in some circumstances (e.g. under octave).
Slight change to the way that speed test states are handled
Update README