Further namespace refactoring for storage.h; removed underlying_type specialsations for empty & singleton types as this was overriding the disable mechanism, and the general scheme ought to be good enough.