Fix IPv6 address handling in the HTTP Host header
This PR fixes incorrect handling of the HTTP Host header when it contains a literal IPv6 address.
Previous behavior:
HttpListenerRequest treats : as a port separator in the Host value. This causes an "Invalid URL" error when an IPv6 address is used.
New behavior:
HttpListenerRequest no longer treats : as a port separator if it appears before the ] character (which is exclusively used in IPv6 addresses).
The PR includes test cases that previously failed before the fix.
It's a draft because I have problems with testing and I haven't tested the fix manually yet.
make check doesn't run all test. I manage to run tests with make mcs-do-tests after modifying mcs/class/System/Makefile.
Also some tests in System.Net stuck out of box.