Added support for waitForUrl(url, query, timeout)

Tests that needs to wait for an url with lots of query parameters that may also appear in random order and conform to approximate or one-of-a-few things, get Really Hard To Read, so I wrote some support for the `waitForUrl('/some/path', { query: "parameters", and: /regexps/ }, timeout)` style invocation format, which composes the regexps for you, handling url encoding and all, making tests manageable, and also not needing to know about or explicitly cater to the hostname and port of the server:

```coffeescript
        @browser.waitForUrl '/my/page', {
          lat: '41.8781136'
          lng: /-87\.629798[12]\d*/
          address: 'Chicago, IL, USA'
        }
```

I believe this use case (or various different subsets of it) is insanely common.