Error checkers

This Pull Request relies on rewrite in https://github.com/watir/watir-webdriver/pull/282

Current behavior throws an exception if error checker makes a driver call on a window that has been closed
This code does not run error checkers if current window is closed

Current behavior throws an exception if error checker makes a driver call when an alert is present.
This code adds methods to interact with alert (via block) and close it before error checkers are run. This is also advantageous since accepting an alert can update the window, after which we should be running error checkers, anyway.
Check for `#empty?` seems pointless since `#each` won't do anything with an empty list.