Refactor Checkout

* Remove the inverse dependence on nereid_payment
* Use the payment_gateway modules
* Allow using payment profiles and storing credit card info