Allow mocha timeout to cancel flow.

Fixes issue 7563.

Signed-off-by: Jason Leyba <jmleyba@gmail.com>
Remove redundant extern definitions.
Ignore null session IDs passed in a command's JSON body. This adds tolerance for
clients that serialize a null session ID as part of a new session command.
Add support for writing js unit tests in .js files by loading them through a
servlet that generates the html stub on the fly.
Remove unnecessary test code.
Move e2e tests to the e2e directory.
Include unit tests for Closure-based js code with selenium-webdriver package.
For compliance with the promise spec, promises may no longer resolve to themselves.
This required splitting webdriver.WebElement into two types: a concrete WebElement
and a thenable that resolves to the WebElement and acts as a forward proxy for the
WebElement API. This change should be largely transparent to users.
Fix javadoc formatting.
Fix property lookup for strict type checking.
Increase default timeout for test command.
Allow using a custom Agent with http.HttpClient.

Change tests to use an Agent with a single socket
instead http.globalAgent for consistent behavior
between node v0.10.x and v0.11.y (y >= 7):

node v0.11.4 changed
http.globalAgent.maxSockets = Inifinity (from 5)
and v0.11.7 changed the http module to only send
“Connection: keep-alive” when necessary.
Remove bad goog.require call.
Add promise support for generator functions.
Requires using harmony (node v0.11.x)
Fix for old IE compatibility; should probably just drop support for old IE.
More flexible management of http timeouts in Selenium RC python client

fixes timeouts during getNewBrowserSesssion
Implementing ability to use sendKeys command in HTML suite runner
Generate fresh AUTHORS
Updating to gecko-31
Fixing compile errors for Firefox native events components on Windows