Merge branch 'x_old' into 'master'
x_old is now a x_diff since the last tree build. It is also implemented for the gparts. Two changes here following the discussion in #122: - `x_old` is replaced by `x_diff`, i.e. the offset since the last tree-build. That makes the drift task a bit strange as they have to move `x` in one direction and `x_diff` in the other. - The `gpart` structure also gains an `x_old` field. This is necessary for the cases where we only have gparts and no parts. If we don't do this, the tree reconstruction is never triggered in `engine_marktask()`. A neat consequence is that we can store `x_diff` as float and not as double. So the `xpart` structure goes down to 32bytes in size (after alignment). See merge request !145