Fix inconsistent date in CHANGELOG

Rest of the dates are YYYY-MM-DD
Use a configurable glob pattern to select Chef cookbook files.

Performing no filtering of cookbooks files leads to very subpar
performance with Librarian-Chef due to its use of `./tmp/` for
calculating cookbook dependenices. Furthermore, if a cookbook was
referenced by `:path` using either Berkshelf or Librarian-Chef then all
dot files (including the `.git/` directory), testing artifacts, and even
the contents of `test/integration/data/` are uploaded to the server
without further work to reduce what is copied across.

Using blacklisting techniques such as a chefignore form opt-in behavior
which leads to slower Test Kitchen runs by default, despite the tool's
ability to determine what Chef repository files are required for
executing a Chef Solo or Client run. This becomes an additional source
of metadata for a new user to learn and manage as the file transfer size
increases over the course of developing new cookbooks and infrastructure
code.

Lastly, this solution can be implemented without an additional gem
dependency which has the potential to have version constraint conflicts
down the road with the larger tooling ecosystem.

There is configurable support for changing this file glob pattern by
adding a `cookbook_files_glob` key/value in a `provisioner` block. For
example, to effectively skip all filtering you could set
`cookbook_files_glob` to `"**/*"` to select all files:

    ---
    driver: vagrant

    provisioner:
      name: chef_solo
      cookbook_files_glob: "**/*"

    platforms:
    - name: centos-6.4
    - name: ubuntu-10.04

    suites:
    - name: server
Merge pull request #262 from test-kitchen/expose-cookbook-files-glob

Use a configurable glob pattern to select Chef cookbook files.
Merge pull request #259 from ryansouza/patch-1

Fix inconsistent date in CHANGELOG
Extract Berkshelf & Librarian-Chef resolver code to classes.
Ensure root_path is created in Chef provisioners (#init_command).

Depending on the host's ssh/scp command set, the parent directory may
need to be created before copying files over.

In order to allow recursive scp uploading, the ownership of the
root_path belongs to the logged in ssh user and not root.
Swap precedence ordering of user kitchen data over provided data.
Make Busser inherit test_base_path from Kitchen::Config.

This will allow for altering the test_base_path default of
"test/integration".
Expand all Chef-related local paths in Provisioner::ChefBase.

This should help to make all relative paths absolute, relative to
kitchen_root directory.

Debugging output should be clearer and less ambiguous:

    kitchen list --debug
Update default .kitchen.yml file, leaner & cleaner.

In all of its glory, assuming you chose the kitchen-vagrant driver:

    ---
    driver: vagrant

    platforms:
      - name: ubuntu-12.04
      - name: centos-6.4

    suites:
      - name: default
        run_list:
          - recipe[mycookbook::default]
        attributes:
          kitchen: is_fun
Improve `kitchen init` smarts for detecting gems already in Gemfile.

Both single and double quoting styles are accounted for now.
Cope with nil values for run_list entries in .kitchen.yml.

Now Test Kitchen can easily cope with a run_list like the following:

    ---
    driver: vagrant
    provisioner: chef_solo

    platforms:
    - name: ubuntu-12.04

    suites:
    - name: server
      run_list:
Cope with nil values for attributes entries in .kitchen.yml.

Now Test Kitchen can can cope with a .kitchen.yml like:

    ---
    driver: vagrant
    provisioner: chef_solo

    platforms:
    - name: ubuntu-12.04
    - name: centos-6.4

    suites:
    - name: server
      run_list:
      attributes:
Update default .kitchen.yml to contain an empty attributes section.

Currently will generate (assuming kitchen-vagrant):

    ---
    driver: vagrant

    platforms:
      - name: ubuntu-12.04
      - name: centos-6.4

    suites:
      - name: default
        run_list:
        attributes:
Test Kitchen no longer requires a cookbook to run; kitchen init anywhere!

If you don't have a metadata.rb file in your current working directory,
Test Kitchen will make a just-enough-cookbook to satisfy a chef-solo or
chef-client run.
Add --provisioner to `kitchen init` to override default, chef_solo.

Now the implicit default is explcit in the generated .kitchen.yml. The
current starting file (assuming vagrant and metadata.rb) is:

    ---
    driver: vagrant
    provisioner: chef_solo

    platforms:
      - name: ubuntu-12.04
      - name: centos-6.4

    suites:
      - name: default
        run_list:
          - recipe[mycookbook::default]
        attributes:
Allow for nil values for `provisioner:`, `driver:`, & `busser:`.
Release 1.0.0.rc.1, Happy Thanksgiving Edition!
Up version for development.
Busser config key name is `sudo` not `use_sudo`