Add transaction model + tests (bug 1001460)

* Add a transaction model for starting the payment process. Following discussion this now stashes the jwt on the model and then retrieves it post-login to start the transaction - this is so the configure transaction step can be run at the same time.
* The test setup is now more explicit as per previous review suggestion from @kumar303 means it's easier to understand what the test does rather than hiding away fake requests from sinon.
* MNC/MCC extraction is unit tested for both pre-1.4 and 1.4+ scenarios.

Needs more testing against real mozpay + adding a retry and fixing up errors to do callPayFailure.