[CHEF-4616] Improve IPv6 support

Work in progress.

* Allows user to specify the chef server URL with an IPv6 literal.
* Replace RestClient in CookbookUploader with `Chef::HTTP::Simple` because RestClient has the same bug as we've fixed here and it makes sense to just use one HTTP implementation
* Needs integration tests, which depend on some improvements to chef-zero spec helpers, which will be forthcoming.
* Manually verified against chef-zero bound to `::1`