[CHEF-3237] Fix Mac OS X service provider. Do not fail when HOME is not set

* Do not add `~/Library/LaunchAgents` if HOME is not set
* It is safe to assume that if HOME is not set ~ will not expand - see rb_home_dir function in MRI ruby
CHEF-3237 - Incorporated comments from PR 624
CHEF-3237 - Incorporated latest review comments.
CHEF-3237 - Fixed the rspec test.
Ignore case of systemdrive letter in unit tests

The drive letter on windows is case insensitive, and working in some tools on
windows provides a lower case letter instead.
CHEF-4239: Quote git repository attribute to handle spaces
CHEF-4239: Handle specs run from dir with space
URI really doesn't know what to do with windows paths

Since we're here anyway...
Use quotes instead of shellwords so that escaping is done correctly on windows.

Conflicts:

	lib/chef/provider/git.rb
	spec/unit/provider/git_spec.rb
Apparently git.exe on windows only works with double quotes.

Conflicts:

	lib/chef/provider/git.rb
	spec/unit/provider/git_spec.rb
Merge branch 'master' into file-refactor

Conflicts:
	lib/chef/provider/git.rb
	spec/unit/knife/configure_spec.rb
	spec/unit/provider/git_spec.rb