Extract runner-specific Chef configs into their own subclass

This separates the truly basic pieces of Chef (like install url and
log_level) from the runner pieces of Chef (like provisioning_path). This
is necessary because the Chef Apply provisioner does not actually need
most of the Chef configuration options.
Add Chef::Config#install and Chef::Config#version options
Update config tests to reflect new structure
Automatically install Chef when provisioning with Chef
Update Vagrantfile to include Chef Apply and options for Chef install
Update CHANGELOG with auto-installing Chef
Add exec/ to .gitignore
Merge pull request #4761 from mitchellh/sethvargo/chef_omnibus

Automatically install Chef when provisioning with Chef