light immutable objects for c++. Immutable strings, Char classes Ranges and other stl extensions