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.