A lot of test cleanup

This change enforces that the current directory for running tests is the root of the project.

Perhaps a bit annoying, but this allows the webdriver subtests to be broken out into their own runnable libraries.

Great for isolating a test problem without tweaking the code