Add a streamlined version of id<>

Add conversion operators so that an id<1> can be used as an integer.
Add begin()/end() support to use id<> in for range loops and STL containers
Improve range<1> so that it can be used like an integer
Base id<> on std::array to get the concept of collection out-of-the-box

This simplify the code and allows the boost::multi_array be indexed by it.
Add a make_id() function and test that id<> are comparable
Add addition operation on id<> by using boost::operators
Move display() debug/test method of id<> into a DisplayVector<> mix-in
Move vector operation for id<> into a macro helper for later generalization