Harshen abc::map collision test to generate 100% collisions

Also add a lot more key/values to the map and consolidate test assertions.
Change argument to const &
Make abc::range::iterator::base() return reference instead of copy
Add shift operator support to abc::range
Use typedef for the integer type used by abc::perf::stopwatch for durations
Add abc::to_str_backend specialization for abc::perf::stopwatch
Improve code documentation
Improve code documentation