Add avs_result and cvv_result codes to Optimal Payments
Move rexml text into a method and dont rescue nil
Added PaypalRecurringApi to PaypalExpressGateway
Add Code Climate badge to README
make rake test work
Quickpay gateway: Remote test for store failure
Braintree: Store sets vault id as authorization

For consistency's sake, it's helpful to always have the result of an
explicit Gateway#store call set the Response#authorization to be the
assigned vault id (though it's fine to also have it in a gateway-
specific location as well). This implements this for both Braintree
gateway API's, including unit and remote tests.
Braintree Blue: Better wiredump_device support

Braintree Blue was assuming the wiredump_device would always be a
Logger, but in fact in many cases it's actually an IO.

Also quiets the Braintree Blue logger if no wiredump_device is set,
which keeps (for instance) the remote tests from spewing useless log
lines to the console.
Update CHANGELOG
Add a Braintree Orange remote test for store

This tests the failure case of storing a card with the #store method.
Add FirstData Global Gateway e4

http://www.firstdata.com

Closes #500.
Update year and verification_value in README code

Sets a dynamic year so that it is always valid, and sets the
verification_value to '000' since the PayPal sandbox now requires it (
https://www.x.com/developers/paypal/forums/paypal-sandbox/please-use-different-payment-card).

Closes #510.
PaymentExpress: Add support for optional fields

Even though not documented for PxPost (it is documented for WebService),
the ClientType element on transactions can affect the way PaymentExpress
submits transaction to the acquirers. This commit gives control over
that element through the `:client_type` element in the options hash.

For completeness, access has also been given to the remaining optional
elements: `TxnData1`, `TxnData2`, and `TxnData3`, which can be set via
`:txn_data1`, `:txn_data2`, and `:txn_data2`, respectively, in the
options hash.

Closes #511.
PaymentExpress: Limit description to 64 chars

PaymentExpress enforces a max length on the MerchantReference
field of 64 characters.  This field is derived from the
description field which is passed in the options hash.

Documentation: http://www.paymentexpress.com/technical_resources/ecommerce_nonhosted/pxpost.html#MerchantReference

Note: This commit also includes a test verifying that TxnId is
limited to 16 characters.  This restriction was already
implemented, but untested.

Documentation: http://www.paymentexpress.com/technical_resources/ecommerce_nonhosted/pxpost.html#TxnId

Closes #512.
Wirecard: description max size is 32 characters

FunctionID is filled from +options[:description]+ for authorize and
purchase transactions, and cannot exceed 32 characters.
Litle: Add support for tokenization

Adds support for passing a credit card OR token to the authorize and
purchase methods.

Note: a token is not a reference (authorization <litleTxnId>) to a
previous transaction, but a token representing a credit card. A token is
created by the gateway (if configured for tokenization) and returned in
either explicit or implicit register token requests.

Adds certification tests defined by the LitleXML Reference Guide section
2.4.4.

Starts refactoring the LitleGateway class to match the patterns used by
other gateways.

Closes #514.
PayPal Common: Allow searching by ProfileID

Closes #517.
Add Spreedly Core gateway

https://spreedlycore.com

Closes #526.
Eway gateway: Fix response authorization

Now using the Eway transaction number as the authorization for a
purchase response.  This page describes the fields and what they're for:

http://www.eway.com.au/developers/api/direct-payments

This authorization can then be used for operations such as refunds.
Eway gateway: General clean up

A bit of refactoring and cleanup in preparation for some new features to
be added to the gateway.