feat(Requests): Add req.host and req.subdomain

This patch adds two new properties, .host and .subdomain, to the
Request class. req.host works with domain names, as well as IP
addresses (IPv4 and IPv6).

In support of these new properties, .parse_host was added to the
uri module. uri.parse_host returns both the host and port, but
req.host ignores the port (if any). This was done so that apps
may call uri.parse_host directly if desired, in order to parse
out a canonical host:port string.

Closes #332