improved error detection when setting thread affinity for threaded benchmark
general cleanup in main benchmark testcode and minor threaded benchmark bugfix
- fix: running benchmark with number of threads == 0 caused barriers to
  be initialised with 0 as count
- semantic fix: explicitely removed ThreadedBenchmark copy constructor
  as 'just making a copy' is not a sane semantic when threads are
  running
- testcode accepts command line argument to specify maximum number of
  threads
- simple single-line benchmark run() calls instead of not very useful
  heap allocated benchmarks ... :)