reduce qunit failures on jenkins

* Fixes #1104 (i claim)
* Increases qunit test timeout from 60s to 180s (this was already done by hand on jenkins, updating puppet to match)
* Upgrades qunit to 1.15.0
* Change test syntax to take advantage of qunit-1.15.0:
  * Use per-test "assert" objects throughout
  * Use `test() { stop();` instead of `asyncTest() {` for clarity
  * Reduce use of `ajaxSetup` as a workaround to control test synchronicity

Jenkins: http://jenkins.buttonweavers.com:8080/job/buttonmen-cgolubi1/337/
No, I lie: ```Newuser.showNewuserPage()``` doesn't make an API call and never needed an ```asyncTest``` in the first place! 

But that said, it shouldn't need a ```stop()``` or ```start()``` either.