URI::Generic.build should use hostname= to detect and wrap IPv6 hosts.

Build is accepting URI components and users may not expect that a host component needs to be wrapped with square brackets since it's not providing a URI.

Note: initialize with arg_check => true does not wrap IPv6 hosts.