Execute async

Add new commands:

* .[timeouts](https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/timeouts)
* .[executeAsync](https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/execute_async)

Minor changes:
* add tests on execute, timeouts, executeAsync.
* remove the need for an [args] parameter on execute and executeAsync
* add `execute(function(){})` syntax along with `execute('script')` syntax (mimics the original driver)