Support `hostname` property in RestAdapter

Previously, when constructing a URL based on an object,
`RestAdapter` supported the `host` property but not the `hostname`
property. A side effect of this was that `host` overrode the `port`
property, because according to the `url` docs, `host` is supposed to be
a string that contains the `port`:

http://nodejs.org/api/url.html#url_url_format_urlobj

This change allows specifying `hostname` instead of `host`, which in
turn allows specifying `port` as a separate property.

This is a slightly more flexible take on https://github.com/rendrjs/rendr/pull/373.