fixes infinite loop in machine state call if provider calls machine.action
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
Add Env.with_clean_env for resetting the Ruby and Rubygems environment
Merge pull request #4792 from mwrock/state_refresh_fix

fixes infinite loop in machine state call if provider calls machine.action
core: only delete state if not created on initialize only

/cc @sethvargo
Merge pull request #4801 from mitchellh/sethvargo/with_clean_env

Add Env.with_clean_env for resetting the Ruby and Rubygems environment
Update CHANGELOG