Initialize the project

* Some specs for the various components
* A rough outline of the module lib/ directory layout
* Rubocop setup
* Git ignores
* A gemspec file for gem building
* Rakefile targets for testing, linting and building the gem
* Updated README (though it lies about Travis CI setup for now)
* Update Gemfile
Enable Travis CI on the project
Configure Travis CI for RubyGem releasing

This will release alpha versions to RubyGem for me (apparently) whenever Travis CI completes successfully.
Fix README, add a TODO
Merge branch 'feature/initialize-project' into develop
Fix brokem gemspec file
Fix broken gemspec (again), move deps to gemspec
Minimum Ruby supported is 1.9.x
For testing purposes in Travis I cannot have a 0.0.0 version, has to start at 0.0.1
Fix encoding line to get Rubocop on Ruby 1.9.3 happy
Not testing with JRuby for now

It's failing on jruby-head with a Java NullPointer exception running Rubocop on the gemfile. Will sort this out later.
Initial spec and implementation for Packer::Provisioner and Packer::Provisioner::Shell

* The Packer::Provisioner is the superclass that all the provisioners inherit off of
   * It can hand out proper sub-class Provisioners on demand
* The Packer::Provisioner::Shell sub-class is fully spec'ed and implemented now
Implement File provisioner, test DataObject better

* Most of the add stuff is in DataObject so I implemented specs for this object and cut down duplicate tests from the objects that inherit from it
* Implemented the Packer::Provisioner::File provisioner
Add Packer::PostProcessor and Packer::PostProcessor::* classes

* The Packer::PostProcessor and its sub-classes do the final processing in the packer flow
* Added classes and specs
   * The specs for the sub-classes are lean because they all use the default DataObject methods which are well-tested
* Added a bunch of constants to the classes for enumerating/naming the types
Skeletons for the Packer::Builder and its sub-classes
Sorted out the Packer::Builder::VirtualBoxISO builder

* Specs are done
* Added new methods to Packer::DataObject to handle integers and arrays-of-arrays-of-strings
Added the Packer::Builder::Docker spec and implementation

* Also added required settings and a validation method to Packer::DataObject that I'll use for validation
Finished with the Packer::Builder sub-classes

* Every builder sub-class I use is now spec'ed and written
* New DataObject functions were added for storing hashes and arrays of hashes on the data stack
Start filling in Packer::Config

* Started the spec and implementation for the top-level Packer::Config class
* Added fakefs to the gemspec for the dev environment
* Rewrote the example in README.md so it looks exactly like something I think should work
Update copyright notice in every file