Replaced boost::shared_ptr<> with std::shared_ptr<>
Fixed numerous issues that caused errors in clang