First stage for Puppet support

1. Expose provisioner in driver configuration.

Exposes a new config file option: provisioner. Passed to the driver as
the `provisioner` configuration item.

2. Refactor kitchen init to detect Puppet modules

Detects if it is being init'ed in a Module or a Cookbook and defaults to
the right provisioner. For Puppet modules it also creates a template
manifest in `test/manifests` that loads the default module class.

Includes updates to docs and tests.