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)

people always complained when i checked these into tests :) do we have a lib for encoding JWT here we could use?