Open a payment popup window (bug 1110228)

@muffinresearch r?

It's mostly working but I still need to clean up an async problem in the test -- a failure that only happens when the whole suite runs. I think I need to understand the execution flow of mocha async tests better.

But, yeah, payment window opens on Chrome! the "paymentSuccess() function doesn't exist" error in the screencast will be fixed when your shim patch is done.

![desktop-payment mov](https://cloud.githubusercontent.com/assets/55398/5404688/28150f06-815f-11e4-97e1-aae565cd2ff6.gif)

this is the only JWT I put in the suite because this test checks specifically for the ``-`` and ``_`` characters which are encoding artifacts. I don't understand base64 enough to generate a JWT like this with code :/ Otherwise, yeah, I agree, it's better not to have encoded artifacts. The other JWTs in the tests here are generated in code.