Remove requirements for noexcept on node storage functions.
This would allow us to have an "unreachable" node storage that always throws an exception when it is used (e.g. as the default node storage).
Currently we have to use std::abort() which is not ideal.
Removing the noexcepts may require some digging around in the library to find functions that assume that they are noexcept.