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` separately. I can change if slug isn't favored (can also change back to url, too), but I'm a big fan of slugs.
* Overrides `:require_chef_omnibus` to `true` when downloading GitHub source code, if set to `false` or `nil`
* 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.

Works on Ubuntu 12.04 on both vagrant/virtualbox and ec2. Works on CentOS on vagrant/virtualbox and I'm pretty sure ec2, too.

@fnichol, @sethvargo, @sersut, @lamont-granquist, @adamedx, @danielsdeleo
also in an ideal world i'd be less wordy in the config names, but i don't know if they're namespaced and will collide or not:

```yaml
provisioner:
  name: chef_zero
  github: "opscode/chef"
  branch: 11-stable
```

sort of make it match what Gemfile uses...