Pace

It should be possible to control how frequently an action is executed, to target "iterations per hour" type volumes. This is not possible using `pause` alone, as the time taken to execute an action may vary under load.

To this end, I propose a new type of pause: `pace`, which adjusts its wait time depending on how long the chained action took. E.g,

```scala
forever(
  pace(5 seconds)
  .exec(
    pause(1 second, 4 seconds) // Will be run every 5 seconds, irrespective of what pause time is used
  )
)
```

The interface for `pace` mirrors the existing interface to `pause`. I also refactored `Pauses` slightly to allow `pace` to share code.