Add support for finishOnKey in Gather blocks

If a finish key is specified it will take everything up to that key and ignore the rest, as if Twilio had moved on and stopped listening to presses.

If the key isn't pressed at all, an exception is raised.