SkeletonFitting added method fix_leg_second_lower_joint

This method is use to rotate to the best position the two lower bones of
the legs. Also some code refactoring
skeletonFitting improved fix_leg_second_lower_joint

fix_leg_second_lower_joint now reduces the number of points to be used
to calculate the distances.
SkeletonFitting added again method that puts the leg half way.

When fitting the leg SkeletonFitting now tries the three methods.
First the better ones then the not so good.
SkeletonFitting improved fix_leg_second_lower_joint

Now it checks all posible angles for the best fit
Replace the axes with axis, shameful spelling mistake
IKSolver added methods to solve a goal that includes a given rotation
IKSolver fixed error in initializing the current state of the chain.

The angles were being deleted every time a new bone was added
IKSolver coordinate transformations are now performed.

Now the goal position and rotation are transform to KDL coordinate system.
Not even sure how could it possibly work before this.
Skeleton fixed rotation.

Rotation is along x axis is now always along the bone length.
Skeleton rotation axis now work on any type on length.

Added 3 vectors that define how the rotation has to be made.
Node fixed calculate_rotation_axis method.

Now when this method is call all bones gets its x rotation axis align with
its length. So the length can be easy mesured sinces it is only a
translation on x and the rotations are now much more intuitive on an
user perspective.
Node renamed calculate_rotation_axis to set_x_rotation_along_bone_length

Last name was not clear enough, this provides a better description on what
the method does.
Node added method to align the y axis of a bone rotation.

The axis in align using the current bone direction and its parent direction
Node fix set_y_rotation_perpendicular_to_next_bone in particular case

When current bone and parent bone are parallel to each other normal vector in
method would be [0, 0, 0], now it is detected and corrected
Bone axis are now updated after transformations.

Node added set_y_rotation_perpendicular_to_next_bone() for a single frame.
SkeletonController added update_bones_axis() method
SkeletonFitting now calls axis fixing after fitting.
Node fix small error on set_x_rotation_along_bone_length