Templatize controller on HW iface & segment types.

- JointTrajectoryController is now a template class that depends on the
  Hardware interface type, as well as on the trajectory segment type. This
  allows to reuse the code across multiple combinations of these two parameters.
  We currently offer plugins for quintic spline segments and position or
  effort hardware interfaces.

- Create a HardwareInterface Adapter class, that converts desired+error states
  from the trajectory sampler (pos, vel, acc) to commands of a given hardware
  interface. Currently implemented adapters for position and effort interfaces.
Better logging messages

- Use NAMED log statements, to differentiate individual controllers.

- More informative info message on controller init: No. of joints, hw interface
  and segment type are reported.