Fixes some server and client javadocs.

Fixes issue #4290.
Adds test case for issue #4301
Adds ability to set opacity for Color object (on behalf of Mark Collin).

It allows to use Color if color data have different channels
for colors and opacity, i.e. each input color has
hex "#ABC" and Z opacity value.

Fixes issue #4735.
Makes default capabilities sets minimally consistent for all bindings.

What's done:

1. C# binding
* fix htmlunitwithjs caps
* fix platform for chrome caps

2. java binding:
* add htmlunitwithjs caps

3. javascript binding:
* fix ipad, iphone browser names
* add htmlunit, htmlunitwithjs caps

4. Python binding:
* fix platform for safari caps

5. Ruby binding:
* adds htmlunitwithjs caps
Makes native events on by default for IE.

Fixes issue #4695.
Add ability to fetch slotCounts from /grid/api/hub:

The resource looks like this:

  { "slotCounts": { "total": 20, "free": 8 } }
Change a test to use embedded resources if available. If the resource is not
found in the (e.g. running from an IDE), it will fall back to the old
behavior of building it directly.
When registering the FirefoxDriver's binary components, do not use multiple
appversion constraints, as form a logic or:
https://developer.mozilla.org/en-US/docs/Chrome_Registration#appversion

Instead, use appversion+platform to designate what version of each
binary-component to load
fix for small typo in variable in error message
Updating C# atoms creation to use static properties instead of fields
Adding attribute to C# generated atoms file to allow skipping static code analysis
Do not issue click for option elements on Windows Phone
Simplifying setting of bot.userAgent.WINDOWS_PHONE per review comment
Increasing IEDriverServer logging when waiting for navigation

This commit adds more detailed logging while the driver is waiting for a
page navigation to complete. It provides log lines for all of the cases
where the driver would consider the navigation to be incomplete, in
addition to logging the actual values for ready states when not found to
be 'complete'.
Fixing HTML dialog logic for redirected documents.

Getting the parent window of an HTML dialog's document can fail,
especially if the document changed out from under us before we could get
the window reference. The canonical case for this is a redirect using
JavaScript. Now we will sleep for a shorttime, then retry to obtain the
reference to the window object. Fixes issue #6224.
Fixing HTML dialog logic for self-closing documents.

HTML dialog windows opened using showModalDialog() have no way to
properly notify of their closing. The IE driver attempts to detect
closing of these windows by listening for user-initiated actions,
either by calling the WebDriver close method, or clicking on an
element that causes the dialog to close. This commit adds logic to
the method used for getting all window handles to validate the
existence of any HTML dialog windows, properly notifying the driver
if the OS-level window handle is no longer valid. Fixes issue #6249.
Improve support for using the HTML5 APIs through the remote
server by augmenting the session driver before attempting to
access HTML5 capabilities.  If the driver does not support the
requested feature, throw an UnsupportedCommandException instead of
a ClassCastException.
The Augmenter does not appear to work in the Android server, so fall back to basic adapters (which will yield more useful stack traces on errors anyway).
Allow args to passed to the JVM using the jvmArgs option.

Fixes issue 6346.
Code cleanup