Fix host parsing priority according to RFC 3986.

The host rule is ambigious unless we process the
subrules in specific order and pick the first
which matches.

However, Spirit parser is greedy and will match
hostnames like 1.2.3.4.example.com to be an IPv4
address. Then we return from the host rule and
further parsing will fail. To fix this, we make
sure that there isn't another dot after the IP.
Merge pull request #53 from lacop/master

Fix host parsing priority according to RFC 3986.
Merge remote-tracking branch 'upstream/master'