update basic tests

- add handleURL helper
- handleURL helper brings its own runloop
- assert handleURL is either fulfilled or rejected
- handle previously un-handled handleURL promise rejections
remove un-needed context preservation
update jshint to include QUnit
Merge pull request #2996 from stefanpenner/prevent_dangling_promises_in_router_tests

Prevent dangling promises in router tests + better error messages.