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 `:github`, instead of `:chef_git_url`, and set `:github "<user>/<repo>"`
* Requires `:branch` key if `:github` key is used. `:branch` can be set to a branch name or commit sha.
* Overrides `:require_chef_omnibus` to `true` when downloading GitHub source code, if set to `false` or `nil`
* 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
are 'tarball' git urls typically supported outside of github?  @sethvargo ?

i assumed if we wanted to pull from arbitrary repos that we'd have to drop the tarball urls, which means we'd need to install git on the target and use an actual git clone/checkout command...