[WIP] Use diffferent queries for searching

Known backwards incompatible changes that belong to public API:
1. `has_title?` matches title exactly if string is passed. I believe current behavior of substring matching is surprising.
2. Removal of Capubara::Query
3. `all_text` and `visible_text` implemented by drivers not longer normalize whitespace. It's done in Capybara::Node::Element now.

Other user-facing changes:
1. Fixes https://github.com/jnicklas/capybara/issues/1179
2. Improved failure messages for `have_text` and `have_title`. I think it would be better to improve failure message for `have_selector` in another PR as this one is already quiet long.

`:synchronize` method was added to session to make queries working (now they are invoked directly from `Capybara::RSpecMatchers`).

Milestone - Capybara 3.0