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

Previously, the first time we went through the loop `tn` was `parameters.initial.time.value`. Now it is `parameters.initial.time.value + parameters.Δt`.
This has an effect, since
```cpp
compute_force(tn + c_[i] * h, q_stage, &f)
```
occured before `tn` was incremented.