clean up boost::smart_ptr and variants