initial commit of moving all argument parsing into options_parsing
move options parsing into own directory
- deprecate @config
- switch hypervisor classes to no longer use @config
- use special OptionHash that doesn't differentiate between string +
  symbols
- add first pass validation of command line options
- roll out command line parsing into its own class
missing file options.rb added
- moved pe version discovery into pe_version_scraper
fixing spec tests to handle new option format
- also broken tests from previous work (should run spec more often...)
fixes for hypervisors using new option formatting
moving hypervisor config files to @options variable
- makes it clear where these magic files are located
- added error checking to ensure that they are present for appropriate
  hypervisors
- check in advance that there is one and only one 'master' in the given
  host config
fixing default values for arguments that can be lists of items
- ensures that lists of items options (tests, pre-suite, etc) default to
  []
- fixes how file options are merged into the rest of the arguments
- fix up getting pe version number from LATEST file
cleaner handling of running the different test suites
- no reason to override the :tests in @options
first pass of fixes for review comments
- don't 'exit' from option parsing, just raise appropriate errors
- moved option dump into a logging command in cli
- moved exiting on --help into the cli
- made it possible to send different array than ARGV to
  command_line_parsing
- reworked recursive print out of options
- reordered merge of options in host.rb (ensure that defaults is lowest
  priority)
- renamed 'defaults' to 'presets' as these are options that can come
  from env vars exported before a test run
- fixed broken spec tests
not passing @options[:dot_fog] through correctly
adding spec tests for new options parsing code
documenting the new option parsing code
raise/rescue ArgumentError on failure to find single host for a role
Merge pull request #11 from anodelman/option-parsing

(QE-117) overhaul of option parsing in beaker