Only write actual_steps at end of umbrella_trajectory().

This is not a bug, but simply a bit of refactoring to make clear what
is going on.
During umbrella sampling, reuse last geometry from previous trajectory.

Previously we would always use the geometry from umbrella sampling as
the initial geometry for all trajectories. This could lead to a bias if
that geometry is far from the center of the window. It's much better to
reuse the last geometry from the previous trajectory as the initial
geometry of the subsequent trajectory in the same window, as this gives
much better statistics. Since each window is run on a single processor,
this does not break parallelization at all from our current implementation.

To implement this, I've added an attribute q to the Window class for
storing any temporary geometry.