More control over parameters like repetition and timing accuracy

I think I'm going to need better accuracy in timing and I think in general people wouldn't mind having control over the amount of repeats of a benchmark. So I added those two things. 
(I also added exports of the Benchmark type because that's required in Elm 0.13)

I'm not sure on the naming and the breaking changes to the DeferredSetup functions... 
What do you think?