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

```cpp
// TODO(egg): would it make sense to use |δt| instead of |h| as the step size in the integration stages?
```