Benchmark.run_for: new macro for testing for a certain time

Runs the provided block as many times as possible until the total
actual execution time reaches the requested execution time. Returns a
key/value list similar to Benchmark.run_for.
Merge pull request #5 from mbunkus/run-for

Benchmark.run_for: new macro for testing for a certain time