Speed up single browser functional tests

This speeds up the single browser functional tests by about 5 seconds on my machine. The patch provides an additional way of starting the node server and driver which won't be shut-down in-between individual tests, just between test classes.

It is based on the same code as we're now using in the frontend tests.

It is also intended as an intermediate step - the final one to be to make the multiple browser tests only start up one instance per test.

Note that python's unittest orders the tests alphabetically. If we're intending on them to be run in a predetermined order (and hence use the end state of the previous test), then I think we need to number them or index in some fashion. If not, then we'll need to do a bit more work to determine a reasonable end state for the tests.

Requesting review from @dmose and @tOkeshu