replace boost::shared_ptr with std::shared_ptr, update docs to reflect what we actually use from Boost