Add support for Darwin platform
Add abamake.platform.DarwinPlatform stub
Refactor abc::testing::test_case::timer_start()
Complete abc::testing::test_case::timer_*()
Move abc::testing::test_case::timer_*() to separate class abc::perf::stopwatch
Remove abc::range::operator~()

Not intuitive, and it returns a range with an invalid begin/end pairs.
Add abc::make_range() utility function
Use std::move() to initialize abc::range members in constructor
Use std::move() to initialize abc::range::iterator member in constructor
Suppress unnecessary GCC warning
Support measuring partial and total time in abc::perf::stopwatch
Remove abc::testing::test_case::log_duration()
Split up main overload of abc::map::key_lookup()

Now divided in lookup_key(), lookup_key_or_find_empty_bucket() and
find_empty_bucket(). This is in reaction to a bug found in key_lookup()
that was caused by the 3 different match criteria being mashed into a
single if statement; making the if more robust would probably make it too
slow.
Add high-collisions test for abc::map
Prepare for more de-templating of abc::map code
Fix abc::perf::stopwatch::get_duration_ns() time unit conversion

1 s == 1e9 ns, not 1e6. Also improve casts.
Remove debug statement
Don’t break strict aliasing in abc::thread_local_ptr
Make code more consistent/similar
Add abc::map::begin() and end() ‒ will need const versions