Move static resource serving code into DriverServlet. It is not part of the
JSON wire protocol and including it in the command dispatcher
complicates planned refactoring and other code cleanup.
Don't include test code in //javascript/remote:clientbin
Remove mime-type specific result rendering. This feature isn't
used and adds a lot of complexity.
Every command handler returns ResultType.SUCCESS and those handlers that
return an actual value do so through a level of indirection. This commit
changes command handlers to just return results directly to the caller,
making it possible to delete a lot of unnecessary code.
Convert HttpRequest/Response to POJOs; handle all conversion to and from
HttpServletRequest/Response inside DriverServlet.
Test if we need to skip cookie tests for lack of a valid domain name before
calling a method that asserts we have a valid domain name.
Update two tests to work when running with a remote server, where the
original js error will be the root exception, but not necessarily the second
error in the cause chain.
When running tests against the remote server, ignore two tests that use
required capabilities. The remote server only supports desired capabilities
on new session requests.
Change some tests to use Alert#accept() instead of Alert#dismiss() to get rid
of alert dialogs. This is a workaround to ChromeDriver issue 764:

https://code.google.com/p/chromedriver/issues/detail?id=764
Pull the logic for converting Command/Response pairs to and frame HTTP request/response pairs
into a common codec instead of duplicating the logic on the client and server.

The client's HttpCommandExecutor is still a bit more complex than it needs to be since some
WebDriver servers (IEDriver) still use a redirect when creating a new session.
Remove some no-op calls to deprecated functions.
Tweak messaging on SafariDriver client page to better reflect what is happening.
Also added a log message pointing users to the toolbar button that opens the
driver log page.
Tweak text.
Fix NPE
ElementNotVisibleException is a type of InvalidElementStateException.
Clean up use deprecated methods & classes.
Move some code around.