#485 - Move some of the payment type enums into common so that they can be referenced by payment gateways
#485 - Add the concept of a payment gateway type and store it on the order payment
#485 - From the checkout payment service, throw an illegal argument exception if the config service is null
- mark all payments in an order as invalid if the gateway does not support multiple payments
- return the payment id once the payment has successfully been added to the order
#485 - Add a new method to the payment configuration service for the gateway type