Support IPv6 address literals when parsing Host header

IPv6 address literals are enclosed in square brackets when used in a
URL [1]. This patch allows the host/port parsing in dispatch/4 to
handle such values.

Some clients (including ibrowse 4.0.1) send a Host header with a
non-bracketed address. In this case, it is not possible to reliably
parse the port from the address. This code detects unbracketed ipv6
address literals and assumes the default port for the scheme.
Unbracketed ipv6 address with a non-default port will not be handled
by this code.

Finally, this patch introduces test/wm_integration_test and a minimal
resource module to verify the Host header and host tokens
behavior. ibrowse and curl are used to make HTTP requests for
testing. In R15, httpc is unable to make ipv6 requests. Curl used as
it gives the correct behavior -- the test is guarded and will be
skipped without failure if no curl executable is found on PATH.

[1]: http://www.ietf.org/rfc/rfc2732.txt
Merge pull request #180 from opscode/ipv6

Support IPv6 address literals when parsing Host header

Reviewed-by: seancribbs