Implement ability to control timeout and stride from Throttler

The purpose of this change is to have the concept of a "throttler"
control not just the timeout, but also the stride. This will give
us greater control over configuration during migrations.

To achieve this the following took place:

* Rename the "throttle" instance and classes to "throttler". This became
confusing as the legacy option of "throttle" was misleading
* Move the legacy support to the invoker and reduce the complexity of the
Throttler code
* Introduce a stride method to the Throttler and have the Chunker access it