CHANGE: Some major improvements to the test harness:

* Refactored a bunch of the harness code into the TestRunner class; made it
  possible to use the test harness on a codebase that isn't flask
* Allow tests to be run more than once by passing an array for 'order' (this
  allows login/logout tests to be used many times, for example)
* All tests must now specify an order, it is invalid to leave them to run at
  the default order
* Implement ability to upload files
* Allow 'wait' commands to have a timeout
* Automatically take screenshots of failures
* Better unicode support
* Removed all of the deprecated methods
* Export test commands so tests can be written more concisely