Add support for automatically using the Systemd service provider if it's in use
Enabling storage of roles in subdirectories

Storing roles in subdirectories is already effectively enabled
for Hosted Chef, as the directory structure gets flattened when
they are uploaded. But it is not currently possible with Chef-Solo;
one has to flatten the directory manually before running Chef-Solo.
This patch changes that behavior, and enables Chef-Solo with roles
in subdirectories.
Added duplicate role detection for Role.from_disk

Now Role.from_disk raises an error when it detects two roles
of the same type (.rb or .json) exist anywhere in the roles directory
or subdirectories.
CHEF-4791 Add more windows service states to the start/stop control flow
http://msdn.microsoft.com/en-us/library/windows/desktop/ee126211(v=vs.85).aspx
Fix upstart provider so parameters work correctly
CHEF-5265: ensure service_name isn't clobbered by parameters
Fixed whitespace in changes.
Fixed deprecation warnings for `stub!` and `mock` in tests.
Added tests for `START_PENDING` and `STOP_PENDING` state to `stop_service` and `start_service`
Add specs for CHEF-5355. Only pass on port in Host header when port is different from default port for URI scheme.
Only pass on port in Host header when it is different from default port
for URI scheme (80 or 443). Fixes CHEF-5355.
Default port HTTP port 80 is not passed on in the Host header.
Request on https scheme no longer sets default 443 port in Host header.
CHEF-5347: Allow for undefined solaris services in the service resource.
Enabling storage of roles in subdirectories

Storing roles in subdirectories is already effectively enabled
for Hosted Chef, as the directory structure gets flattened when
they are uploaded. But it is not currently possible with Chef-Solo;
one has to flatten the directory manually before running Chef-Solo.
This patch changes that behavior, and enables Chef-Solo with roles
in subdirectories.
Added duplicate role detection for Role.from_disk

Now Role.from_disk raises an error when it detects two roles
of the same type (.rb or .json) exist anywhere in the roles directory
or subdirectories.
Fixed specs for Chef::Role.from_disk

Specs were broken because of rebasing the glob_roles
patch onto the current master. Also removed an
exception raise I'd accidentally left in.
Merge branch 'glob_roles' of github.com:bensomers/chef into glob_roles

Conflicts:
	lib/chef/role.rb
	spec/unit/role_spec.rb
removed Chef::Role.from_disk 'force' option

Option was unused and did not work in any case.
CHEF-5347: Use shell_out! with returns [0, 1].
CHEF-5437: Ruby 8 syntax still required.
Install on ArchLinux as a system gem explicitly