more SharedPtr<> cleanups - including use of nullptr_t and noexcept