Add ability to download and install chef from GitHub.

This replaces https://github.com/test-kitchen/test-kitchen/pull/473, with some minor changes:

* Uses the tag `:chef_git_repo_slug` instead of `:chef_git_url`, so now you only need to provide `"<user>/<repo>"` (e.g., `"opscode/chef"`)
 * Considered asking for `:chef_git_user` and `:chef_git_repo`. I can change if slug isn't favored (can also change back to url, too), but I'm a big fan of slugs.
* Also accepts `:chef_git_branch`, which it prefers after `:chef_git_sha` (that is, the gitsha takes higher precedence than the branch name)
* Will fail immediately if the source code cannot be downloaded from the generated url or if the chef gem cannot be built.

@fnichol, @opscode/client-engineers