iTransact gateway: make void API consistent

The iTransact void operation had a funny interface; just about all the
other gateways have a 2-argument void interface (authorization, optional
options). iTransact had a 3-argument one, with a required amount that
was just ignored. The 3-argument version has been removed in preference
to the proper 2-argument interface.

Also tweaked the tests slightly.

Closes #463.
Stripe gateway: Pass city in add_address

Closes #466.
Paypal gateway: Can change recurring balance

Adds support for OutstandingBalance in the
UpdateRecurringPaymentsProfileReq request.

Also adds "n1" prefixes to the Username, Password, Subject, and
Signature fields in the add_credentials() functions. This is due to a
bug with PayPal that seems to only be triggered when changing the
outstanding balance. The prefixes should be optional and have no effect
on authentication.

Closes #458.
Revert "Make the default Gemfile Rails dependency explicit"

This caused an issue with double dependencies for rails which
caused bundler to fail.

This reverts commit b0f7787fdeb64e193014057fc0ce1798e5200c74.
Mercury gateway: test cleanup
Mercury gateway: Fix authorizations API

The original implementation required passing around a ton of extra
fields for follow-on transactions, rather than encoding those values
into the authorization. Note however, that even with this changed, all
Mercury transactions appear to require the full credit card to be passed
in, which is non-standard ActiveMerchant.

Also strips out all support for track2, voice auths, and batch
processing, since these are not typically supported by ActiveMerchant.
If a champion that is going to use them actively wants to add them back
in, be my guest :-)
Mercury gateway: Support refund properly

We had `void`, but it was really `refund`. Renamed, and dropped support
for reversing a reversal.

Also dropped support for adjust since it isn't ActiveMerchant standard.
Update CHANGELOG
Stripe gateway: Adding Canada as a supported country
Set up a matrix of gem versions to test against

Currently, for better or for worse, ActiveMerchant is very dependent on
ActiveSupport, and is sensitive to changes in it. The main development
Gemfile for AM, though, simply allowed the version of ActiveSupport to
float, and no CI testing was being done against the versions of
ActiveSupport/Rails that AM should explicitly support. This allowed test
failures to creep in unnoticed, and when bundler suddenly started
resolving a different version of ActiveSupport when running CI, meant
lots of inexplicable breakage.

This changeset outlines an explicit set of Gemfiles for the versions of
ActiveSupport that ActiveMerchant currently claims to support. These are
then plugged into a Travis matrix, such that each one will be explicitly
tested for compatibility, and regressions in older versions will show up
immediately. The default Gemfile is set to track Rails 3.2; when 3.2 is
superceded, it is expected that the current default would get renamed
and a new default introduced to track the latest ActiveSupport.

To run tests against a particular Gemfile, you can simply set your local
BUNDLE_GEMFILE environment variable to one of them, i.e.:

  export BUNDLE_GEMFILE=Gemfile_rails23

Closes #470
Account for differences in Builder versions

Older versions of the Builder gem do not auto-close empty tags, and so
these tests need to account for the fact that the XML they are (very
brittle-y) checking may have auto-closed or not auto-closed empty tags.
Vindicia gateway: Require i18n interpolation

The Vindica gem is dependent on i18n string interpolation, but does not
explicitly require it. In newer Rails and Rubies, this is OK due to it
being required already, but in older versions things break.
Add avs_result and cvv_result codes to Optimal Payments
Move rexml text into a method and dont rescue nil
Braintree gateway: Add support for recurring flag

This allows externally vaulted cards to be treated with the same status
as cards in the Braintree vault when processed for renewals. This should
improve the renewal rate, since the cards should not be penalized for
(among other things) not having a CVV supplied.
Passing shop language to Moneybookers if supported
Cleaned up language support for Moneybookers

* Follow-up commit to 1372580
Factor out Gemfile commonalities
Add HDFC gateway

http://www.hdfcbank.com/sme/sme-details/merchant-services/guzh6m0i

HDFC is one of the major Indian banks; the gateway seems to actually be
provided by FSS (http://www.fss.co.in/).
HDFC gateway: Add more supported currencies