Refactor approach computation internals.

Planning group selection has been improved to select groups that:

- Span at least the joint of the input motion that change between current and
  goal configurations.

- Span at most all joints of the input motion.
Proper support for setting waypoint vel, acc.

- Expose acceleration field through PlayMotion and MoveJointGroup.

- In MoveJointGroup, don't set zero velocity if unspecified. Since we now have
  the populateVelocities method, it's already being taken care of there.