Fix standalone compilation for newer GCC

- adding missing includes for NULL definition (<cstddef>)
  and std::swap definition (<algorithm>)
Experimentation around exception specifier SHARED_PTR_NEVER_THROW