Formatting.
[provisioner/shell] Refactorings to duplicate useful logic from Chef*.

This work should lead directly to a refactoring of
`Kitchen::Provisioner::Base` with logic from
`Kitchen::Provisioner::ChefBase`.
Remove sandbox debugging in Driver::SSHBase.
Expose Provisioner#sandbox_path for use by drivers & remove tmpdir.

This commit changes the behavior of `Provisioner#create_sandbox` in that
it no longer returns the created sandbox path. Now the expected calling
behavior is to call `Provisioner#create_sandbox` and then refer to the
sandbox path with `Provisioner#sandbox_path`. This allows
`#create_sandbox` to make use of calls to super in a clean way and to
decouple the command and query nature of this method.
Extract #create_sandbox & #cleanup_sandbox code to Provisioner::Base.
Extract #calculate_path to Provisioner::Base as common provisioner logic.
Add expand_path_for class method in Provisioner::Base for provisioners.

This is a declarative way, similar to declaring default_config, to have
certain config values be path expanded. This helps when debugging using
`kitchen diganose` and leaves local paths unambiguous as to the source
location.

In general, all local config-related paths and files should be path
expanded.
Update config[:file] to config[:script] & refactor code.
Add a `data_path` to Provisioner::Shell.
Re-order methods in Provisioner::Base.
Update class comment in Kitchen::Provisioner::Shell.

Thanks to @juliandunn for the catch :)
Merge pull request #298 from test-kitchen/base-provisioner-refactoring

Base provisioner refactoring