Added CARD_TYPE_MAPPING into StripeGateway to handle cases with Stripe.js passing in unexpected parameter mapping

Fixes #141

Conflicts:
	spec/models/gateway/stripe_gateway_spec.rb
Added Mastercard Internet Gateway Service (Migs)

Fixes #144
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