[provisioner/shell] it works
Fixing error when using more than one helper

When placing more than one helper in the test/integration/helpers
directory I was receiving the following error:

       /tmp/busser/gems/gems/busser-0.6.0/lib/busser/command/deserialize.rb:46:in
`Integer': invalid value for Integer(): "0664echo" (ArgumentError)
        from
/tmp/busser/gems/gems/busser-0.6.0/lib/busser/command/deserialize.rb:46:in
`perform'
        from /tmp/busser/gems/gems/thor-0.18.1/lib/thor/command.rb:27:in
`run'
        from
/tmp/busser/gems/gems/thor-0.18.1/lib/thor/invocation.rb:120:in
`invoke_command'
        from
/tmp/busser/gems/gems/thor-0.18.1/lib/thor/invocation.rb:127:in `block
in invoke_all'
        from
/tmp/busser/gems/gems/thor-0.18.1/lib/thor/invocation.rb:127:in `each'
        from
/tmp/busser/gems/gems/thor-0.18.1/lib/thor/invocation.rb:127:in `map'
        from
/tmp/busser/gems/gems/thor-0.18.1/lib/thor/invocation.rb:127:in
`invoke_all'
        from /tmp/busser/gems/gems/thor-0.18.1/lib/thor/group.rb:233:in
`dispatch'
        from
/tmp/busser/gems/gems/thor-0.18.1/lib/thor/invocation.rb:109:in `invoke'
        from /tmp/busser/gems/gems/thor-0.18.1/lib/thor.rb:43:in `block
in register'
        from /tmp/busser/gems/gems/thor-0.18.1/lib/thor/command.rb:27:in
`run'
        from
/tmp/busser/gems/gems/thor-0.18.1/lib/thor/invocation.rb:120:in
`invoke_command'
        from /tmp/busser/gems/gems/thor-0.18.1/lib/thor.rb:363:in
`dispatch'
        from /tmp/busser/gems/gems/thor-0.18.1/lib/thor/base.rb:439:in
`start'
        from /tmp/busser/gems/gems/busser-0.6.0/bin/busser:8:in `<top
(required)>'
        from /tmp/busser/gems/bin/busser:23:in `load'
        from /tmp/busser/gems/bin/busser:23:in `<main>'
Merge pull request #296 from meyouhealth/multiple-helpers

Fixing error when using more than one helper
Merge branch 'ChrisLundquist-shell-provisioner'
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