Fix unit tests on group providers.

Note that one unit test case is removed for windows. The reason is that now we are guarding against adding existing members therefore we don't need to have the need to call set_members if add_members fails.
excluded_members support for groupmod provider.
exluded_members support in pw group provider.
CHEF-4777: add include_recipes to recipes node attr
Backport URI::Generic#hostname to Ruby 1.9.2 and older

Documentation for URI::Generic#host in Ruby 2.0.0 explains:

    Since IPv6 addresses are wrapped by brackets in URIs, this method
    returns IPv6 addresses wrapped by brackets. This form is not appropriate
    to pass socket methods such as TCPSocket.open. If unwrapped host names
    are required, use “hostname” method.

Therefore the best way to support IPv6 URIs is to replace calls to
URI::Generic#host with URI::Generic#hostname. The #hostname method is
added in Ruby 1.9.3 so we need to backport it for older ruby versions.
If a resource is sensitive, it’s redacted from logs.
Update HTTP usage for IPv6 Support

* Fixes Chef::HTTP related code to use URI::Generic#hostname when
  initializing Net::HTTP objects.
* Replace RestClient usage in cookbook uploader with Chef::HTTP::Simple;
  RestClient has the same bug as is fixed in the Chef::HTTP code (and is
  difficult to fix with a monkey patch). See:
  https://github.com/rest-client/rest-client/blob/0919b02cc57447cf42a67e31aad87ab2a6929da3/lib/restclient/request.rb#L150
* Manually verified with chef-zero; chef-zero's test helper code does
  not expose the `:host` parameter so it cannot be used to bind the
  server to ::1. Integration tests will be added once this is solved.
raw_http_request was aliased to send_http_request, which is below the
level of the middleware being applied.

This patch makes raw_http_request behave like request, except the only
middleware that is applied is the AuthN for talking to the chef server
Group spec fixed for CI.
Refactor
Bump chef-zero version to at least 1.7.2

* Provides updated IPv6 support in rspec helper code
* Needed for integration tests for CHEF-4616
* https://tickets.opscode.com/browse/CHEF-4616
Add integration test for chef-client IPv6
Turn off functional group resource tests on MacOSX 10.6 due to caching issue on Etc.getgrnam() on certain boxes.
Fix specs on FreeBSD.
Fix specs on Solaris.
Patch ruby 2.0 Net::HTTP proxy code for IPv6

Ruby 2.0 changes the way proxying is implemented in Net::HTTP such that
each request will check the URI for "proxy-ness." This check will
generate a URL from the given address and port without wrapping IPv6
addresses in brackets, which triggers an error in the URI library.

Check for this case on startup and monkey patch the offending method if
necessary.
Fix the failing pw provider unit spec.
Test cookbook upload/download over IPv6 w/ knife
Force knife to load http monkey patches
Merge branch 'CHEF-4616'

Support using an IPv6 literal in the chef_server_url, including integration
tests and updates to chef-zero to support integration testing IPv6.