Raise better errors if server fails to start

* When WEBKIT_SERVER_START_TIMEOUT was reached, @port would get set to
  nil. If execution of the SERVER_PROCESS returned immediately, @port
  would get set to 0. This lead to odd cross-platform behavior in
  #connect, which would try to connect to a nonsense port.
Implement modal (accept, dismiss and alert) API

* Retain backwards compatibility with legacy capybara-webkit API.
* Confirm dialogs are accepted by default; dialogs are dismissed.
* Legacy API usage will override the default action, and may cause
  undesired behavior if mixed and matched with the new API.
Add Capybara 2.4 to Appraisals
Travis config for Capybara 2.4
Don't interact with readonly elements

* This behavior changed in Capybara 2.4.
* Previously we would focus and send keypress events to readonly
  elements. Now readonly elements are ignored, and a warning is emitted
  by Capybara.
Add deprecation warnings to legacy modal methods

* Our legacy API has been replaced by an upstream API in Capybara 2.4.
Stub Capybara::ModalNotFound for Capybara < 2.4

* The modal API was introduced in Capybara 2.4, so older versions won't
  follow this code path.
Add deprecation warnings to legacy window methods

* Capybara 2.3 provides a new window API.
Update README

* Remove deprecated modal and window commands.
* Document xvfb-run as a way to start an X server.
* Note that Qt versions greater than 4.8 are supported.
* Update copyright year.