SmallVectorStorage is empty when its size is 1; use inheritance so that the empty base class optimization kicks in, saving a pointer for small SmallVectors.
I assume all compilers support this so the static_assert is valid... or should I only assert under some feature flag?