Allow testing plugin easily with latest Vagrant

This is a method recommended in the Vagrant documentation that is able
to reduce the feedback loop of testing the plugin after making changes.
See: http://docs.vagrantup.com/v2/plugins/packaging.html

- Add Vagrant as development dependency
- Add Vagrantfile, for plugin testing
- Add Vagrant local data dir to Git ignore list
Use RSpec for automated testing

- Add RSpec as a development dependency
- Add RSpec configuration
Add unit spec for Config
Add Dep class
Expect Dep class in provisioner
Add #meet to configuration

The #meet method unifies the interface for local and remote deps. This
deprecates the now obsolete #local_dep and #remote_dep methods.
Merge pull request #9 from bradfeehan/metadata

Improvements to metadata
Merge pull request #10 from bradfeehan/meet

Unify local and remote deps, add specs
Fix issue with run specs on ruby 1.9.3
Remove code duplication
Edit readme and bump version to 0.0.7
Add missing internal documentation
Remove unused "args" config accessor

The value for "args" is never used, so it should be removed.
Remove unused constructor from Provisioner
Refactor of Provisioner, bugfixes and new features

This is a large refactor of the Provisioner class, but it also has
effects in almost all classes. The main changes include:

New features:

  * Add configuration options to set Babushka command-line arguments
  * Allow manually overriding the install bootstrap URL

Bugs fixed:

  * Improve integration of Babushka's output with Vagrant's logging
    (fixes the bug where Babushka's progress meter creates a lot of
    garbled output)
  * Escape all variables used in shell commands
  * Ensure Babushka installation directory on the VM exists before
    installation
  * Find the user's home directory more reliably
  * Download bootstrap script on guest (instead of host) in case the
    host doesn't have cURL installed
  * Improved logging readability

Other benefits from the refactor:

  * Split large methods into smaller, more understandable methods
  * Considered public/private visibility of methods (for testing)
  * Ensure all shell commands are generated consistently
  * Reduce amount of code required to execute a command on the VM or
    log a message to Vagrant's output
Update README with latest information
Standardise on using heredocs for long strings

Also fix up the "undentation" of some existing heredocs.
Merge pull request #12 from bradfeehan/cleanup

Refactor of Provisioner: new features, bug fixes (depends on #11)
Add .rspec to git ignore
Fix spec issue