Added support for the NMI Customer Vault

This was added as a separate class from NmiGateway since NmiGateway
is just an extension of the AuthorizeNetGateway, and that
compatibility layer does not support customer vault functionality.

Additionally, all of the NmiVaultGateway methods for processing
charges use customer vault id instead of a credit card number.
Adding separate methods for all of the customer vault endpoints
in NmiGateway would have resulted in two separate codebases mashed
together, and there would be methods like
NmiGateway::purchase_vault(). Instead we now have
NmiVaultGateway::purchase().
Added gateway for GMO-PG
Migs (three-party) integration
Realex integration
Merge branch 'nmi_vault_gateway'
Merge branch 'gmo_gateway'
Merge branch 'migs_integration'
Merge branch 'realex_integration'
Updated readme to list changes