We should be able to run while homeless

There's no reason to try expanding '~' if BERKSHELF_PATH is set

It's an annoyance when using berkshelf to bootstrap chef-solo in an
environment like an init script or chroot
squashme
Use an instance variable for berkshelf_path to match style
Create a new fake remote git repo instead of trying to clone from the internet.
Refactor git helpers to separate concerns for methods
Merge branch 'master' into autocreate_git_remotes

Conflicts:
	spec/spec_helper.rb
Correct merge
formatting consistency fixes
Merge pull request #367 from RiotGames/autocreate_git_remotes

Autocreate git remotes
Merge pull request #340 from blasdelf/master

Remove unnecessary hard dependency on $HOME being set
don't cache the location of the Berkshelf
remove dependency on ::Chef::Digester and replace with internal module
remove dependency on ::Chef::Config and replace with Berkshelf::Chef::Config
refactor Chef::Config logic from Berkshelf::Config into Berkshelf::Chef::Config
refactor Chef::Cookbook::Chefignore to Berkshelf::Chef::Chefignore
constantize filename for chefignore files
create Berkshelf::Chef::Cookbook::SyntaxCheck class to remove

dependency on Chef
disable run all on start for Guard cane
remove dependency on Chef::Cookbook::Metadata
remove dependency on Chef::Mash