dispatch traces to 8 different buckets to reduce sharing

In order to remove false sharing between concurrent threads,
we dispatch each trace to a randomly assigned bucket. This
reduce sharing reads on the cache line holding the linear
allocator between different cores.
ansi C
properly escape characters in plain log format
preparing change in clock handling

bookkeeping will be done in ticks rather than microseconds
share common implementation for clocks

the conversion from ticks to microseconds is made generic.
move from microseconds to ticks internally
comments / ansi compatibility
updated documentation with latest work on concurrency