Add JointTrajectory segment construction options.

- New optional parameter: Permutation vector, useful when joints in ROS message
  are not ordered as the controller expects them.

- New optional parameter: Position offset, useful for handling joints that wrap
  around (ie. continuous), to compensate for multi-turn offsets.

- Propagate changes to user classes and tests. Position offsets are not fully
  integrated yet.