Allow a Merchant to have many PaymentGateways and a configuration field
Fix tests a bit and add Payment GW

* Add Payment GW storage code
* Tidy up tests
* Fix Product update