Fix hang of hub when node machine is not available.

This is happened because of:
1. before session creation an proxy may be checked for availability -
http client used for this check has too big connection and socket timeouts.
2. before node is became down/unregistered a node is checked for avaialability twice -
http client used for this check has too big connection and socket timeouts.

As result under the load if node machine is not available
it leads to that hub may hung up at processing new session requests.

Done:
1. grid http client is customized to accept socket and connection timeouts.
2. new hub configuration setting 'downPollingLimit' is available -
defines number of tries to get node status after which node is marked as down.
Default value is 2.
3. new hub configuration setting 'nodeStatusCheckTimeout' is available -
defines socket and connection timeouts which are used during checking of availability.
Default value is 0, which means that default values from grid http client will be used:
for connection timeout - 120sec, for socket timeout - 3hours.
4. unify and cleanup code, improve logging
5. set up socket and connection timeout to value of 'browserTimeout' preference
for http client which is used for requests to node.
6. update e2e grid tests

After these changes user can define the following intervals:
* time of checking node status - by 'nodeStatusCheckTimeout' setting,
* time of notavailable node marked as down - by 'downPollingLimit',
'nodeStatusCheckTimeout' and 'nodePolling' settings.
It is around of downPollingLimit * (nodeStatusCheckTimeout   nodePolling) milleseconds.
* (after node is marked as down) time after that node is unregistered from hub -
by 'unregisterIfStillDownAfter' setting.

This should fixes issue #5942.
Add sleep after accepting and dismissing alert.

In some situation IE closes alerts window too slow
and this leads to next action on window fails with E_NOINTERFACE code, e.g.
executing script failed with '-2147467262 [No such interface supported]'.

Fixes issue 4108.
Improve code and checks in e2e test.

1. move some help code into function
2. add checks before start test for CrashWhenStartingBrowserTest
Fall back to a loopback address if the current machine does not have an external IP address (as will be the case when there is no internet connection).

Fixes issue 5958
Correct a javadoc comment to remove a reference to a class that is long gone. No logical changes.
Fixing failing test due to miscount of calls to findElement.
Fix JS execution on Firefox 22+. Turns out that get/setUserData is gone. Replaced by
simple hack involving modifying a property.
Remove sizzle dependency from the firefox driver. We only needed this for versions of firefox
prior to 3.5, which we no longer support.
Remove a TODO that's never going to happen. No logical changes.
Fixed Select.escapeQuotes method

Signed-off-by: Simon Stewart <simon.m.stewart@gmail.com>
UTF-8 encoded user-extensions.js support. Fixes issue 1646

Signed-off-by: Simon Stewart <simon.m.stewart@gmail.com>
removing never fully implemented reference to getting 'Session logs'
Implementation of some new commands(/sessions, /log/types, /log)

Adding tests for /log/types and /log

Removal property 'sessions'

Signed-off-by: Luke Inman-Semerau <luke.semerau@gmail.com>
keeping command get available log types in sync with Java names
Updating Javadocs for TouchActions

Signed-off-by: Luke Inman-Semerau <luke.semerau@gmail.com>
Fixing set of firefox preferences for logging prefs.

After this fix fxdriver correctly set logging preferences.
Fix handling of conversion errors at node side.

It prevents 500 response with HTML body when
node failed at conversion of input json data.

1. move conversion into base try catch of request handler.
2. report better info wen invalid input is provided for setBrowserSize/setBrowserPosition.
3. make sure thet python binding sends integers as input for setBrowserSize/setBrowserPosition.
use check with wait for CrashWhenStartingBrowserTest.serverCrashesStartingFirefox
Allow to set default logLevel for standalone-server.

Now there are 3 variants possible:
1. (existed and unchanged) passing -debug parameter will set FINE level.
2. (new) passing no -debug and -Dselenium.LOGGER.level=<value>
will set <value> level.
3. (existed and unchanged) passing nothing will set INFO level.

Fixes issue 2285.
update documentation templates for selenium.webdriver.common.*