bugfix regarding rvalue references in begin() and end() methods
introduced new running convention for benchmarks: setUp() and tearDown() instead of run() - this allows for more fine-grained looping control