Adding experimental IWebDriver extension methods to .NET support classes

This commit adds extension methods to IWebDriver, which can be used to
reduce the amount of type casting that must be done to access
functionality not provided by the base IWebDriver interface. The following
methods were added:

 * TakeScreenshot() - does not require a cast to ITakesScreenshot, and has
   support for working directly with instances of RemoteWebDriver.
 * ExecuteJavaScript<T>() - does not require a cast to
   IJavaScriptExecutor, and will automatically cast the result to the type
   specified by the generic type parameter (T).

These extension methods should be considered experimental. To use them
requires a reference to WebDriver.Support.dll, and adding a using clause
for OpenQA.Selenium.Support.Extensions.
FxCop and StyleCop fixes. No functional changes.
Deleting dead files
Preventing dir creation failure if the output dir already exists (RC). Fixes issue 6704
Preventing NPE while creating a dir for the result file (RC). Fixes issue 6695
Don't require rake when loading selenium-client. Fixes issue 6709.
Updating IE prebuilts for impending 2.39 release
Updating version numbers for 2.39.0 release
Updating Java CHANGELOG for 2.39
Updating .NET CHANGELOG for 2.39.0 release
Updating java docs for 2.39.0
Bump webdriverjs to 2.39.0
Bumping Python version numbers
I like big version bumps but apparently others dont
Bump Ruby gem to 2.39.0, update change log
Bump gem version 2.40.0.dev
Deleting the client-side of the AndroidDriver.

Note that the atoms are still left in place so that Selendroid can still be compiled.
Removing the iphone driver.

Also leaving the atoms available, so that appium and iosdriver can use them.
Improved error message for failed launch of IE using IELaunchURL API.

We now translate the HRESULT received from the API into a text error
message.
Expose a constructor on ChromeDriverService