Refactor specs + fixes

- Cleanup + Refactor spec syntax (specs tend to be reused so why not
keep them well styled)
- Fixed Braintree a bit that had Test::Unit syntax in it, also
described pending tests
- Fixed SecurePayAU Gateway that had it active_merchant gateway
misspelled
- Fixed UsaEpay spec
- Add base classes for 11 gateways
- Updated read me and Versionfile
- Bumped dependencies

Conflicts:
	Gemfile
	app/models/spree/gateway/balanced_gateway.rb
	spec/spec_helper.rb
Add maxipago
Remove braintree dependency

https://github.com/spree/spree_gateway/pull/138/files#r10213250
Add braintree as a development dependency
Bump to 2.2.0
Correct email + homepage + files for gem
Bump to 2.2.1
Removed savon dependency

Fixes #139
Use 2-2-stable Spree
Remove ancient pending block for authorize+capture payment flow within BraintreeGateway's tests

Conflicts:
	spec/models/gateway/braintree_gateway_spec.rb
Correct arguments for BraintreeGateway's capture method
Ignored options on BraintreeGateway#capture should be optional
Use correct options when calling capture in BraintreeGateway#capture tests

Conflicts:
	spec/models/gateway/braintree_gateway_spec.rb
Braintree Credit test won't work because Braintree doesn't provide a way (yet) to settle the transactions

Conflicts:
	spec/models/gateway/braintree_gateway_spec.rb
Set auto_capture to true before void tests + call right void_transaction method

Conflicts:
	spec/models/gateway/braintree_gateway_spec.rb
Call correct credit! method in BraintreeGateway's spec's credit_using_spree_interface method

Conflicts:
	spec/models/gateway/braintree_gateway_spec.rb
Added CARD_TYPE_MAPPING into StripeGateway to handle cases with Stripe.js passing in unexpected parameter mapping

Fixes #141
Added Mastercard Internet Gateway Service (Migs)

Fixes #144

Conflicts:
	lib/spree_gateway/engine.rb
fix capture arguments in StripeGateway

This now accepts the money, response_code and gateway_options as per Spree's own Payment::Processing code

Fixes #143
Add BraintreeGateway#cancel

This new method will decide whether to void or to refund a payment.

A payment can be voided if it's either authorized or submitted for settlement. In all other states, it MUST be refunded.

Fixes #145

Conflicts:
	app/models/spree/gateway/braintree_gateway.rb