Revert "Set `Busser[:sudo]` to `false` by default."

It appears that some platforms (CentOS being one of them) may want to
call certain progrmas as root. Either because of the path to
/sbin/service or other reasons.

Setting Busser configuration option of `sudo` to `true` should enable
a better out-of-the-box experience in the default case and still
allows for this setting to be overriden in a busser config block in the
root of the .kitchen.yml document:

    ---
    driver: vagrant
    provisioner: chef_solo

    busser:
      sudo: false

    platforms:
      - name: centos-6.4

    suites:
      - name: server

Or in a platform:

    ---
    driver: vagrant
    provisioner: chef_solo

    platforms:
      - name: centos-6.4
        busser:
          sudo: false

    suites:
      - name: server

Or in a suite:

    ---
    driver: vagrant
    provisioner: chef_solo

    platforms:
      - name: centos-6.4

    suites:
      - name: server
        busser:
          sudo: false

This reverts commit f002ae7c2f054d547d5852035019864d9070a051.

Closes #269
References #273
References #270
References #265
Update homepage in gemspec.
Release 1.1.0, update to Busser sudo default (now true).
Up version for development.
Fix SSH 'Too many authentication failures' error.

When the system provides an SSH agent, which has many loaded keys, the
SSH client may attempt to use these for authentication before trying
the identity specified by the SSH config or invocation.

This can result in the guest system aborting the connection (due to
too many failed attempts) before the correct key is tried.
Normalize driver, provisioner, & busser blocks when merging raw YAML.

Without accounting for the shorthand form of these blocks (or when the
value is `nil`), the Kitchen::Loader::YAML object will attempt to merge
a Hash into nil, String into Hash, nil into String, etc. Before merging
.kitchen.yaml with .kitchen.local.yml (and global
~/.kitchen/config.yml), the shorthand form of:

    ---
    driver: vagrant
    provisioner: chef_solo
    busser: 0.5.0

need to be expanded to the explicit form of:

    ---
    driver:
      name: vagrant
    provisioner:
      name: chef_solo
    busser:
      version: 0.5.0

Extra care was taken to preserve the raw data format for each file so
that `Kitchen::Loader::YAML#diagnose` will not pre-normalize the data
before emitting it for debugging.

Thanks to @spheromak for reporting and working up a failure scenario.
Improve `kitchen diagnose` when loader data merging fails.

Now if YAML data merging is failing, running a diagnostic of:

    kitchen diagnose --loader --no-instances

Will show an error hash in the combined raw data which could help to
track down the root cause. This also allows the raw kitchen.yml, local,
and global data to be displayed even if the merge fails.
Ensure Busser#local_suite_files only rejects chef data dirs.

The previous implementation had a regex matcher that was too loose and
matched valid testing files such
`test/integration/default/serverspec/database_spec.rb`.

Closes #276
Merge pull request #275 from zts/use_ssh_IdentitiesOnly

Fix SSH 'Too many authentication failures' error.
When copying `./cookbooks`, conditionally check for `./site-cookbooks`.

Before this fix, the converge stage would fail if a `./site-cookbooks/`
directory was not present, which is an old regression.
Add `json_attributes: true` config option to ChefZero provisioner.

This option allows a user to invoke chef-client without passing the
generated JSON file in the `--json-attributes` option. That way if you
have a JSON definition of your node (including a run-list), the
chef-client run will depend entirely on what is on the "Chef Server".

For example, let's assume we want a node called "mynode" to be in the
"production" chef environment. Given a .kitchen.yml with the following:

    ---
    driver:
      name: vagrant

    provisioner:
      name: chef_zero
      json_attributes: false
      client_rb:
        node_name: mynode

    platforms:
      - name: ubuntu-12.04

    suites:
      - name: default

and an environment JSON description for our chef environment called
"production" in `test/integration/environments/production.json` that
looks like:

    {
      "name": "production",
      "default_attributes": {
        "myenv_attr": "Good to be in prod"
      }
    }

and a node JSON description for our node called "mynode" in
`test/integration/nodes/mynode.json` that looks like:

    {
      "id": "mynode",
      "chef_environment": "production",
      "run_list": [
        "recipe[nginx]"
      ],
      "normal": {
        "some_attr": "hello"
      },
      "automatic": {
        "ipaddress": "192.168.77.77"
      }
    }

then the instance will attempt to register with the Chef Zero server as
"mynode" (vs. "default-ubuntu-1204" in this case) and will receive a
run-list of `["recipe[nginx]"]` from the server. Additionally the
following node attributes will be setup:

* `node[:some_attr]` will be set to `"hello"`
* `node[:myenv_attr]` will be set to `"Good to be in prod"`
* `node[:ipaddress]` will be set to `"192.168.77.77"`

Note that the node JSON format assumes a Chef 11 serialized format which
Chef Zero will use under the hood. For more details, please read:

http://docs.opscode.com/essentials_node_object.html
Release 1.1.1, all the ones for a bugfix release.
Up version for development.
Change must_equal to must_match to fix test on Windows
[provisioner/shell] it works
Fix Cucumber tests on Windows

* Switch to Aruba::InProcess
* Tag tests that need a spawned shell with @spawn
* Tag all help listings with @spawn
* Tests tagged with @spawn use Aruba::SpawnProcess
* Skip tests tagged with @spawn on Windows
Update omnibus URL to getchef.com.
Add --concurrency option.
concurrency: Number of multiple actions to perform at a time.
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