Update KDL SegmentMap interface to optionally use shared pointers

The KDL Tree API optionally uses shared pointers on platforms where
the STL containers don't support incomplete types.
Merge pull request #5 from jensenb/hydro-devel

Update KDL SegmentMap interface to use shared pointers