Split fxpay into modules (part of bug 1100618)

@muffinresearch quick r? No need to comb through it all as it's mostly refactoring.

This isn't strictly necessary for desktop payments but it splits fxpay into multiple files which will make it all much more manageable, especially as we add more code. Some notes:

* It takes a pseudo node-require approach to the modules.
* I changed names of some functions but those ones were never documented for public use: https://developer.mozilla.org/en-US/Marketplace/Monetization/In-app_payments_section/fxPay_iap$edit
good idea!