Implement the new object renaming policy

This commit introduce the automatic renaming of components,
based on the name of the variable used in the Builder script
and the place of the component in the hierarchy.

This should provide more natural naming behaviour (the components
become accessible with the same name as they were referenced in the
script) and prevent most of the name collision (that used to introduced
suffixes like '.001 etc)

Canvevat: only components visible from the top-level script, or
components appended to components visible from the scripts are renamed.
[builder] Deal with component renaming at the configuration level
[builder] Don't give a default name in creator

It does not work well with auto renaming stuff :)
[builder] Explicitly destroy inspect frame
Drop deprecated py2 code path
[pymorse] Support new component naming scheme

With the auto-renaming patch in, MORSE components now have a consistent naming scheme with
the full cmpt hierarchy.

This commit add support for this component hierarchy in pymorse.

For example, if you put a gripper at the tip of an arm, previously you had:

>>> robot.gripper.grab()

Now you have:

>>> robot.arm.gripper.grab()

This should prevent some name collisions.

Updated gripper_testing to show the new API.
[testing] Adapt the different test to variable renaming
[builder] Try to better handling error at the builder level
[mw/yarp] Adapt port naming to new component names
[testing] workaround against sick regression

Seems to be yet another gc issue, as __del__ is not called properly on
the Sick object
[builder] Force the name of internal camera, in camera-like sensor

It is ok to do this here, because it is an internal object, that the
user cannot control directly.
[creator] call wheeledrobots ctor for SegwayRMP400
[creator] Fix two issue in the creation of human

- fix the name of human to Human, to workaround against issue #237
- use append to logically append the armature to the human robot
[builder] In WheeledRobot#append, call the mother method

Otherwise, we don't have the whole renaming logic
[testing] Rename yarp_mw_testing into yarp_datastream_testing
[armature] Add a 'joint trajectory' interface

The new service (armature.trajectory(traj)) allow for execution
of trajectories on an armature: user provide a set of waypoints and
timestamps that the actuator try to follow.

The trajectory structure is similar to ROS' JointTrajectory.

This first version does not support velocities and accelerations, only
positions.

Refer to armature_testing.py for usage examples.
[builder] add Armature class