Add an option that makes it possible to ensure that the last point is exactly for Tmax; make sure that we never exceed Tmax

Been there, done that, it doesn't work.  Basically ``δt`` oscillates quite a bit around ``h``, so if you use it as the step size you are really not using a constant step, and you lose symplecticity (the tests showed that the error increases very significantly -- great that we have good tests).  In effect ``h`` is your constant step size, and ``tn`` is your best approximation for ``n * h``.  The compensated summation is here to make sure that ``tn`` doesn't drift.  And ``δt`` is just an artifact of the compensated summation and should probably be removed entirely.