First pass at Chef Solo provisioner.
Make JSON attributes work with real JSON!
Rename configuration `cookbook_paths` to `cookbooks_paths` to
conform to Vagrant wording.
Remove configuration `cookbook_path` to simplify some things.
Implement `avoid_sudo` configuration option.
Implement `skip_install` configuration to skip Chef installation.
Remove errant die statement.
Rename configuration `avoid_sudo` to `prevent_sudo`
Merge remote-tracking branch 'upstream/master' into provisioner-chef-solo

Conflicts:
	config.go

Add the chef-solo provisioner back to config.go.
Fix import path for chef-solo provisioner.
Add basic test file for provisioner-chef-solo.
Merge remote-tracking branch 'upstream/master' into provisioner-chef-solo
Improve logging.
Correct behavior for undefined recipe list.
Correct package name to upstream repo.
Remove redundant code and clean up some string concatenation.
Clean up Say statements.
Remove debugging statement.
post-processor/vagrant: fix output ConfigTemplate validation [GH-324]

-apply same output validation steps found in builder specific Configure
functions
post-processor/vagrant/virtualbox: support ova artifacts [GH-315]
provisioner/shell: retry the upload if command fails as well

This improves reboot handling robustness
communicator/ssh: more error handlingin Upload
packer/rpc: less panics
packer/rpc: error instead of panic cancelling builder
packer/plugin: swallowInterrupts in plugin should swallow all