[pr2][unittests] Attempt to add unit-tests for pr2

Unit-tests are suffixed either 'socket' or 'ros' depending on the
testing interface.

Currently tests for:
- joint state
- torso
- head

None pass yet.
[pr2] Rewrite of the PR2 macros and related files

The PR2 macro now uses armatures and amatures pose sensors for
armatures.

Several other components, including base scan, odometry, XYW motion
controller have been added.

Sensor pr2_posture is updated but not used anymore.

The 'ias_kitchen_pr2' example has been added but requires update.
[pr2] Fixed armature positioning

- cleared all matrix_parent_inverse for armatures
- attached the torso armature to the pr2 root (and fix accordingly position)
- amend robots/pr2.py to reproduce the armature hierarchy
[pr2] clean up of overlay files

The new 'joint state' overlay can not work since overlaying 'default_action' is not
yet supported.

The 'armatures' overlay makes use of the updated Armature actuator API.
Remove old py2 code path
[builder] Print traceback when exiting because of invalid builder script
[builder] Add 'after_renaming' function to Builder component

This function can be added to a Builder component to perform some tasks once all automatic
renaming are done.
[sensors] Added a new 'compound' sensor

It allows to group several sensors output into a single one

Closes #240
[pr2] Correctly export the jointstate of the PR2 with sockets

We proceed the following way:

- we create a CompoundSensor with the 4 armature pose sensors (torso,
  head, l_arm, r_arm)
- we create special serialization methods 'post_jointstate' and
  'post_pr2_jointstate' that concatenate the local_data of the
  CompoundSensor in one dictionary (and add missing PR2 joints for
  'post_pr2_jointstate')
- we tell the BuilderAPI to use these specific serialization method with
  the socket interface.

The unittest 'pr2/jointstate-sockets.py' passes again.

While here, added the various tests to the CMakeLists
[pr2] Fix PR2 JointState for ROS

Unittest pr2/jointstate-ros.py pass again

While here, modify builder/robots/pr2.py to allow for correct interface
selection