add simple execute test
add pure function execution in .execute

As seen in original webdriverJS:
https://code.google.com/p/selenium/source/browse/javascript/webdriver/webdriver.js#411
forgiving args parameters in execute.js
Add .timeouts, Add .executeAsync

Added timeouts and execute_async selenium commands.

execute_async default timeout seems to be very very low (maybe 0ms?)
Added close.js to commands

This allows to close the browser window.
save error screenshot at path, given by screenshotPath option - refs #89
added option in README.md for documentation - refs #89
add option to disable saving an error screenshot - refs #89
minor readme.md formatting
replaced setTimeout with process.nextTick - refs #85
added DELETE http-verb for window protocol command - refs #96
added actual close command, extended README - refs #96
fixed bug: if screenshotPath is undefined, saveErrorScreenshot() would break command chain
print out a special error message if driver has no correspond ID to a view
added commands for tab handling
fixed protocol command names
improved close command by adding option for switch focus to opened tab after closing
added tests for tab handling
added 'keys' protocol command, updated protocol list in readme
added newWindow command with test specs