Fixing Git support for sha, tag, branch

This allows multiple cookbooks to be pulled from different branches of 
the same git repository.  The test suite now tests sha revisions, tags,
and branches.
add knife option so some knife.rb options will work
Accept :locked_version as an option for @version_constraint
Read from local cache before downloading in a CookbookSource
Use git revisions to check local cache for GitLocation
Idiot moment: remove focus group
Fix failing install feature
Allow specifying a name when loading a CachedCookbook from path
Rebase with RiotGames/master
Fix failing specs
Merge pull request #387 from aceofsales/fix-git-revisions

Fixing Git support for sha, tag, branch
Fix failing feature
Remove explicit returns
Use instance variables instead of caching @options in GitLocation
Remove @options from GitLocation
When adding a source that already exists, make sure the version is compatible
Merge pull request #366 from RiotGames/issue366

Resolver should error if incompatible dependencies are specified
Eager load locations and cached_cookbook
Simplify GitLocation a bit
add gem version badge to README