Updated build.gradle files to use Selenium 2.39.0
binding/java to use Gradle 1.10 to run.
Throw exception for invalid timeouts.

Fixes #291.
`textToBePresentInElement` is now deprecated.

Use `textToBePresentInElementLocated`.
Added `waitIfLoading` on the Window class.

For now used only when changing `value` on Element.
Useful in case a user input causes a page load and
we want to at least wait for Page Load Timeout.

Fixes #284.
There is no difference between `script` and `async_script` timeout.

I got confused by how the WireProtocol has
2 different ways to set the same value (and also
names them differently).

This should give also some stability improvements to tests that modify the Script Timeout (as it now does what was supposed to in the first place).