Updating the solution only on fixed prescribed time steps

The lss updating scheme is not contractive. The converged solution
depends on the initially chosen dt (timesteps). In order to make the
solution less arbitrary with respect to the discrete timestep
representation, the code is restructured such that it updates the
solution only on fixed prescribed time steps.

The lss iteration now takes a fixed time step distribution tfix as
input. Then, the KKT-Schur solution w and the update for u and dt is
computed as usual. After that, the new solution (u,dt) is interpolated
at the prescribed timesteps.
Piggyback iteration for interpolation-LSS-solver

The piggyback iteration is set up for the modified interpolating
lss-solver. The Adjoint variable corresponds only to the primal u that
is interpolated at a fixed time discretization.

All derivatives have been tested against finite difference and match,
although epsilon had to be chosen relatively big (1e-3) for some
derivatives.

The piggyback iteration is tested with mu = 1.0 and 15 iterations. The
relative residual drop of the adjoint is only 1e-4 (absolute residuum
 is 1e-7 at convergence). The reduced gradient is validated against
 finite differences with eps=1e-6. They match with relative error around
 0.2%.