Make transmission interface more general.

The previous API assumed that to map a variable like position, one only
needed actuator and joint space position variables. Although this is often the
case (eg. fully actuated/determined transmissions), this does not hold in
general. Underactuated transmissions are a typical example of this.

Now each map accepts full <position,velocity,effort> triplets for actuator and
joint space variables, and uses only the ones it needs.

Although the current API has gained in generality, it has lost some of the
explicitness it had before. For instance, if only position variables are
needed for a map, one still needs to pass the full triplet (velocity and
effort variables can be empty).

Finally, unit tests and documentation have been updated to reflect the changes.
Add main page to documentation.

It includes an overview of the transmission_interface package, pointers to the
more relevant classes, and a commented example.