Added a TestCase extension

Changed the vagrant module into a package
Added a test module to the vagrant package
Added VagrantTestCase class to the test module
Added a multi_box and single_box directory to vagrantfiles that both contain a Vagrantfile to make it easier to specify the vagrant_root
Updated the .gitignore to include Vagrantfiles nested in the vagrantfiles directory
Added some small tests for the VagrantTestCase class
Changed the setup.py to look in the vagrant package for the version number
Changed default behavior when vagrant_boxes is empty

Set vagrant_boxes to auto populate to all boxes when left empty
Added an additional test
Made some minor fixes to formatting and documentation
Fixed multi_box Vagrantfile
Fixed the way the VagrantTestCase class resets boxes after running

Overrode the run method on VagrantTestCase to provide a hook with a self reference instead of cls
Fixed the setUp routine on VagrantTestCase

Moved the caching of initial box states to a single run setup function
Added additional tests

Added some reusable vagrant-based assertions for up, halted, suspended, and not created