Js testing

This block of work allows us to reliably run pure javascript QUnit based tests from 'make check' (and in the future installed tests).

See ```src/web/test-dummy.html``` for an example test case which does nothing, and see Makefile-web.am for how to add a new test.

I've made QUnit + tap + phantom a lot more reliable in this branch. I've tried to catch most coding errors and make phantom exit (rather than just hang around) in problem cases.

Although this branch cleans up dbus-test.html a bit, it is still run against test-server (within 'make check'), and that's not going to change for now. It's a good semi-integration test, and does what it's meant to do. Some of the tap-phantom and qunit fixes here contribute to the dbus-test.html stability though.