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.
Benchmark.times: include total time and number of times run in output
Merge pull request #4 from mbunkus/times-include-total-and-number

Benchmark.times: include total time and number of times run in output
Merge pull request #5 from mbunkus/run-for

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