Added the ability to shutdown logging.

Default Logging Level will still be `INFO` but now
you can set it to `NONE` (or `OFF`) and all logging
will be disabled.

Fixes #208.
Handle "thisWindow.close()" cases.

It's possible that some windows contain javascript
code to close the very window we are pointing at.
This was causing GhostDriver to hang, as it was
assuming "THE" page to which that window was associated
would be always available.

The fix is pretty easy: we just ignore the fact
that the window is now gone and continue happily.

Fixes #180.
Ensuring we don't switch windows via empty string.

Looking into issue #210 made me realise that
if you sent an empty string to switch to window,
GhostDriver would raise a "MissingCommandParameterException"
instead of "UnknownWindowException".

Fixed that.
Minor correction for ".gitignore" file.
Improving test for "switchTo().window('')" case.

Relates to #210.

This test shows clearly that, once all the windows
that have `window.name = ''` are closed, a call like
the above will fail with exception.

This makes PhantomJS adhere to the behaviour of the
other popular drivers, but it's just embracing an
"unpredictable" behaviour really.
Tied up "implicitWait" to "waitForPageLoadToStart".

Also, increased the implicit wait from 5 to 50ms.
This might help some slow acting AJAX pages, but
it might upset some people...
Fixed test "shouldWaitForOnClickCallbackToFinishBeforeContinuing".

The final assertion was wrong.
Test that async load events can't be all handled.

If they happen outside of the implicit wait window,
the Driver can't possibly know that they are happening.
Un-tied up "implicitWait" to "waitForPageLoadToStart".

Was not a good idea.
Reduced flakiness of "element finding" tests.
Ignore page load failures initiated by Click action.

If the click finishes, it's finished.
The fact that the expected destination page didn't load it's irrelevant.

This implies that, in case a "onLoadFinished" occurred
but resulting "status === 'fail'" we have to ignore it.

This is how Chrome and Firefox Drivers seem to behave…

Fixes #202.
Refactor error handling for the POST URL command.
Refactoring POST CLICK command.
Refactoring POST SUBMIT error handling
Better code doc for Element search result parsing.
Adding more useful debug logging to Element search.
Reformatting an Elements Search test.
Upgrading Atoms to Selenium 2.33.0
Do not assume case-sensitive on Request Headers.

RFC 2616: http://www.ietf.org/rfc/rfc2616.txt
Hardened an Element Finding test.