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/
I think this is the exact same issue as with the button click triggers: ```Newgame.showNewgamePage()``` performs an asynchronous API call, and we just continue on with our asserts without waiting for the callback. 

We need to either force the callback to complete before our test continues (e.g., by turning off async in ajaxSetup, like we're doing here) or to sneakily insert our asserts into the middle of that process (which is what we *usually* do when our tests pass in a callback function). Since ```Newgame.showNewgamePage()``` doesn't *take* a callback as an argument, we could instead do basically the same thing by mocking ```Newgame.showPage()``` or ```Newgame.getNewgameData()``` or even ```Env.callAsyncInParallel()```. 

Out of these three, I'd suggest mocking ```Newgame.getNewgameData()```. Since this is a unit test, not an integration test, it's theoretically just supposed to be testing ```Newgame.showNewgamePage()``` and nothing else. As long as it does it's job and calls the next function in line, we should be able to rely on *that* function's unit test to verify that it does *its* job.