doc: add counters documentation.
counters: always use atomics for counter increments.

This allows our counters to have full correctness. It is a bit slower
in the contended and non-contended case, but when using per-cpu counters
it is still significantly faster than atomics on a single cache-line.

See https://raw.githubusercontent.com/chergert/counters/master/samples/core-i7-3667u/mutations.png
for performance characteristics.