Populate velocity data.

- Velocities are populated only for motions that don't specify velocities for at least
  one waypoint.

- The Fritsch-Butland filter gave the best results. Two other filters were also tested.
Reimplement method that generates trajectory velocities.

- Implement version of numerical differentiation filter with extra cases for
  setting velocities to zero (heuristics).

- This is what the old manip/robot_shared_lib code did.

- We no longer depend on arm_navigation, yay!

- Good compromise: Smoother than Fritsch-Butland, while still allowing to hold
  position in equal consecutive waypoints (one of the heuristics we wanted).
Fixes to trajectory velocity generator.

- When a waypoint already specifies velocities, don't overwrite.

- Drop use of motion_joints param. Not required since we dropped arm_navigation
  dependency.

- Change signature of populateVelocities to not have a single input/output
  parameter (bad practice), but two separate input and output ones.
  They can be the same inpractice (aliasing is allowed).

- Doc usage of populateVelocities method.