Update to Capybara 2.4

Of course, just as we merged 2.3 support, Capybara 2.4 was released!

The entire suite is green with the exception of the new modal API. The biggest change is https://github.com/jnicklas/capybara/pull/1322. However, I've taken a first pass at implementing the required changes and it doesn't look too bad.
When an exception is raised in Ruby and a pending command has not finished (which would happen in the case of synchronous `FindModal`), Ruby will not wait for the command to finish before issuing a `Reset`. The reset will likely succeed, but if a subsequent test tries to use the driver, the outstanding command may still be running. Looking at the debug output, for example, you'll see two "started page load" messages printed, one for the outstanding command, and one for the subsequent command.

I think it's a good thing that `Reset` can be sent while a pending command is running, especially in the case of exceptions. However, we don't currently handle this very well and should probably make that code more robust. I tried this in https://github.com/mhoran/capybara-webkit/commits/synchronous_find_modal.