add joint_mode_controller

...in separate feature branch

This feature has been provided by @davetcoleman