Make reporting thread-safe

Preconstruct string before printing it.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Added support for threaded execution

The benchmark harness has one more parameter: number of threads.

Each thread executes indipendently all the benchmarks.
Note that benchmarks have to be inherently thread-safe, thus, they should not use any global state.
For instance, benchmarks using a stateful random-number generator are not going to work as expected.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Added initial configuration for benchmarking

TODO:
 - sort out benchmarks that aren't threadsafe
 - need a System>>println: primitive for thread-safe new-line printing.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Merge pull request #1 from smarr/SOM++/threading-support

Threading support for SOM benchmark harness