Remove provider dependencies.

This commit is an initial cut at removing provider dependencies. It also
streamlines the action middleware.

Testing is not complete.
Remove provider-specific dependencies.

This commit removes all provider-specific dependencies for installing
Chef. It hooks into the middlware stack and executes right before actual
provisioning of a machine therefore ensuring it has been booted. It
supports all commands that have the Vagrant builtin `Provision` within
its middleware stack. This allows custom commands written by a provider
that use `Provision` to work appropriately.

With this commit, the custom `rebuild` command that is part of the
Digital Ocean provider will work. Acceptance tests for the provider have
been added to the repo.
Add hook for non-standard AWS provision action.
Add multi-vm separate Chef version acceptance test

This test will now serve double duty of ensuring the plugin works with 
the `virtualbox` provider AND ensure each VM in a multi-VM Vagrantfile 
can specify it's own version of Chef!
Merge branch 'pr/23'