allow getObject to deal with shared pointers
added default descriptions for compact_vector and std::pair