Another fix on optimize rotation

How it was previously was ok, it works as long as the bones don't have gaps.
Added class PointCloud

In an effort to have a more robust code and use PCL the cloud points in
osg::Vec3Array have been substituted by the PointCloud class. With this class
the cloud implementation is hidden and the points can be accessed with any of
the vector types used in the program.
Improved efficiency in ComMethod.

Compare methods are now done with PCL point type.
Improved vertebral end position calculation

When there are not enough points in the camera to calculate the bone position
it uses all the traveled points to infer an end position