Allow making the first response of a MultiResponse the primary response

This adds the idea of a MultiResponse having a "primary response". By default it is set to `:last` but can be changed to `:first` by adding `make_first_response_primary` to the run block. The primary response is the response that will be used for all the existing proxy methods. The only exception to this is during a failure, in which case the primary response is always the failed response.

This also includes a change to the stripe gateway to make the primary response of the refund method the actual refund response, instead of the application fee refund response.

@RichardBlair @odorcicd @jduff to review please