Add CallScope#gather_finish_on_key.

For accessing the finishOnKey option on a gather scope.
Add a private method of CallScope#formatted_digits.

Takes an option of :finish_on_key in order to strip that key from the digits before returning it.

Also encapsulates existing logic to check for a nil value.
Use #formatted_digits in #request_for_twiml!.

Can now take finish_on_key into account.

Also no longer need to handle where options[:digits] is nil as dealt is with elsewhere.
Finally, update CallScope#press to use the finish_on_key value.
Tighten up button press specs.

Match against "You entered 98765." rather than "You entered 98765".

Adding the trailing character compensates for the fact that has_say? checks only for partial matches, so we wouldn't detect when there were trailing digits returned.

E.g. "You entered 98765432", for which has_say? would right now return true.
Add a spec to cover a gather with finishOnKey specified.
Implement a default finish key of hash.