Revert "Make Ruby binpath part of the remote PATH if it's configured"

This reverts commit 858a1f134001e877b0b54769cab3fede5b132886.
Revert "make remote PATH configurable"

This reverts commit feab960e70e04a232549e61c95585a6235fa5684.
Revert "ensure Busser and Chef-Zero execute out of sandboxes"

This reverts commit 16fb8c29caa9df552484294ce9433a61dd9c3b41.

Conflicts:
	lib/kitchen/provisioner/chef_zero.rb
Revert "Make the remote Ruby binpath configurable"

This reverts commit 291c1db93f00b930a5d7cd4b49ebcbab5f9f00cb.

Conflicts:
	lib/kitchen/provisioner/chef_zero.rb
Calculate environments_path just like data_bags, roles, nodes, data.
Format refactoring in Kitchen::Config#new_suite.
Lexically sort chef data directories in Config and ChefBase provisioner.
Update Busser#local_suite_files calculation to reject other chef data.

The directories that will be rejected when search for suite files
include:

* data/
* data_bags/
* environments/
* nodes/
* roles/
Ensure Busser rejects Chef-related dirs when calc'ing plugin list.
Busser must calculate its test_root from config[:kitchen_root].

Fixes regression in 5ad2f72b86c6b1aa01443996ec18b6af9a66424d
Add :instance_ruby_bindr to set Busser's remote path to Ruby.

To override the directory containing the `ruby` and `gem` commands
(which defaults to `/opt/chef/embedded/bin`), simply set the following
in a `driver_config` block in a kitchen.yml file:

    ---
    driver_config:
      instance_ruby_bindir: /opt/local/ruby/bin

Busser will use this path to calculate the path to `ruby`, `gem`, and
the default `GEM_PATH` environment.

Note this will be the value as reported by:

    RbConfig::CONFIG["bindir"]

References 291c1db93f00b930a5d7cd4b49ebcbab5f9f00cb
Ensure Busser gem & plugins are sandboxed & BUSSER_ROOT can be set.

Delegate the environment variable maintenance back to busser except when
initially installing the gem and running `busser setup`. This will
generate a `$BUSSER_ROOT/bin/busser` binstub that isolates its gem
environment, path to `ruby`, etc.

When calculating Busser's GEM_HOME, it will be set to
`$BUSSER_ROOT/gems`. The GEM_PATH will be calculated by prepending the
value of GEM_HOME onto the existing GEM_PATH.

This means that if the Ruby being used is an Omnibus package then the
Chef gem will be LOAD_PATH require'able but any gem installation made by
Busser will go under its BUSSER_ROOT. This includes the initial Busser
gem installation.

References #242
References #225
Busser now installs into /tmp/busser by default on instances.
Support installing a specific version of Busser.

Currently the following values are supported:

* `"busser"`, `"some-name"`: alternative name for gem
* `"1.2.3"`, `"0.7.0.beta.2"`: specific RubyGems version
* `"busser@0.5.0"`, `"some-name@5.0.0"`: specific gem name and version
* `"/tmp/busser-0.6.0.dev.gem"`: path on remote instance to gem pkg
Test Kitchen now works out of `/tmp/kitchen` for all providers.

Previous to this commit, Test Kitchen's work directory on the instance
depended on the provisioner used. For example the chef_solo provisioner
worked out of `/tmp/kitchen-chef-solo` and the chef_zero provisioner
worked out of `/tmp/kitchen-chef-zero`.

With the addition of a `data_path` config option this made discovering
the path to uploaded data more difficult. Now all provisioners will
upload the contents of `data_path` to `/tmp/kitchen/data`.
Bump development dependencies minitest & guard-minitest.
DataMunger, initial support for Driver configuration.
DataMunger, support driver name shorthand and explicit forms:

Shorthand:

    ---
    driver: dummy

Explicit:

    ---
    driver:
      name: dummy
      other: stuff
DataMunger - support provisioner configuration merging.
DataMunger - support busser configuration merging.