Refactor how the currrent trajectory is stored.

- Handle concurrency in the current trajectory between rt and non-rt threads
  using the simpler RealtimeBox instead of the RealtimeBuffer, because our
  usecase does not fit well the non-rt->writes / rt->reads semantics.

- As a consequence we no longer need to store the msg_trajectory member, but
  only the hold_trajectory, which must still be preallocated.
Work tolerance checking methods.

Until now we used the currently active goal handle for performing tolerance
checks. Using the goal handle stored in segments is more robust to unexpected
goal updates by the non-rt thread.
Reorder how time and traj data are updated.

In the update method, fetching the currently executed trajectory should be done
before updating the time data to prevent a potential scenario in which there
is no trajectory defined for the current control cycle.
Merge pull request #69 from pal-robotics/issue-60

Fix issue #60