Moving rate limiting to WorkloadConfiguration and various bug fixes

Hi,

this pull requests moves the rate limiting and work queue to the respective `WorkloadConfigurations`, allowing to further decouple `Workers` from `BenchmarkState` and to specify rate limits for each workload separately.

Additionally it fixes the issue #22 and two separate issue, which led to too long phases and wrong transaction throughput reporting (in the console after the run, the file outputs weren't affected).

If you don't like the queue move to `WorkloadConfiguration`, i'll make a separate pull request with bug fixes only.

For a better structure maybe it would be nice to create a nested class in `WorkloadConfiguration` which is only concerned with communication with and synchronization of workers (WorkloadState or something).