Abstract the concept of IdImpl to a SmallArray to factorize code later
Simplify range<> implementation by using SmallArray
Removed useless code
Factorize out id<> constructors to SmallVector123 for later consolidation
Implement range<> with SmallArray123
Add make_id() and make_range() versions that takes a list such as make_id(1,2,3)
Replace int by std::size_t in template dimensions
Forward the final type to SmallArray so that boost::operator can produce range<> for example