Update KDL SegmentMap interface to use shared pointers

This is a dependent change for the orocos KDL API modification discussed in: https://github.com/orocos/orocos_kinematics_dynamics/pull/4

To summarize the KDL API used incomplete type definitions in STL containers, which is undefined behaviour according the c++ standard. As it was, GCC / libstc++ handles this behaviour with problems; however, on systems with clang/libc++ using incomplete type definitions in STL containers results in compilation errors. Instead a solution involving shared pointers has been proposed. More rational the change is discussed in the upstream pull request.

The upstream pull request is necessary for this change to be merged.