Add support for host, protocol, and port configuration.

This PR is an alternative to #131, #132, and fixes #127.

### New Features:
* Adds support for specifying a default protocol, host, and port in `default_url_options`.
* Adds support for routes which specify a specific protocol, host, or port.

### Changes:
* Changes expectation of `url_links` to a boolean value and deprecates the previous usage. Default protocol, host, and port are now configured with `default_url_options`.
I treat `context` as in which context the API function was called rather than which function from API was called. So for me context is same and described like this:

``` ruby
let(:_options) { { :url_links => true, :default_url_options => {:host => "example.com"} } }
```