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.