Jasmine tests for verification / payment; small bugfixes

* Add Jasmine tests for a good chunk of the payment/verification JavaScript.
* Found and fixed a bug: the payment button should be enabled if there are no suggested prices (and no radio buttons).
* Some general cleanup / refactoring.

Reviewers: @rlucioni @AlasdairSwan 
I know this line isn't part of this PR, but the string formatting character isn't very i18n friendly. Could you modify it to read:
```javascript
_.sprintf( gettext( "Go to Step %(stepNumber)s" ), { stepNumber: nextStepNum } )
```