[OC-6705] add `omnibus project NAME`

Useful for generating a skeletal projects.
Add `Omnibus.projects` and `Omnibus.project` methods

These helpers aid in common project-related tasks.
add `omnibus clean` command

This command can work at two levels:

* basic clean will remove temporary files generated during the build
  process.
* when the `--purge` option is specified a full clean will be performed
  including removal of the files in the install path AND and
  any generated packages.
improve project load failure error message
CLI: slight refactor and subcommand support

The first subcommand up will be `omnibus build` which will contain
support for building projects AND eventually software components.
ensure the bin file sets a load path AND traps interrupts
CLI: catch all exceptions; print a nicely formatted message
add `omnibus cache` command

This replaces the previous Rake tasks.
Add a Vagrant 1.1 build lab to generated projects

This lab consists of a `Berksfile` and `Vagrantifle` dropped into the
root  of every generated project.

The `omnibus` cookbook (and it's dependencies) now live external to this
repository (as they should). The `omnibus` cookbook also depends on
plain, old upstream community cookbooks and will be released to the
community site.
remove legacy Vagrant plugin

The previous vagrant plugin that shipped in `omnibus-ruby` is sorely out
of date now that Vagrant 1.1 has shipped. For ease of maintenance it
makes more sense to just add a shell provisioner to project Vagrantfiles.
Multi-VM workaround for `berkshelf-vagrant` plugin

Currently `berkshelf-vagrant` doesn't work correctly with multi-VM
Vagrantfiles. The current workaround is to add a
`config.berkshelf.berksfile_path` to each vm.define block.

More info here:
https://github.com/RiotGames/berkshelf/issues/436#issuecomment-15394731
https://github.com/RiotGames/berkshelf-vagrant/issues/4#issuecomment-15979246
ensure `Omnibus::VERSION` is loaded when omnibus is required
relax s3 config validation

Software is cached in the S3 bucket with public_read ACLs so it possible
to take advantage of s3 caching without an access key and secret key set
in the Omnibus config.
prefix generated project directory with `omnibus-`

This follows the recommended Opscode convention:

* omnibus-chef
* omnibus-chef-server
Add a MissingProjectConfiguration error
Add #maintainer Package DSL method

Now people other than Opscode can maintain omnibus-built packages!
Woo!
Add #homepage Package DSL method

Now non-Opscode users can create packages with their own homepage metadata.

Conflicts:
	lib/omnibus/project.rb
Raise an error if a project has no name

#name is used as the default value for #package_name, as well as in the name of generated Rake namespaces and tasks.
Raise an error if a project has no install_path

Badness will ensue otherwise
Default #build_iteration to 1

If it is not set, odd iteration strings get constructed and sent to FPM.

Also document that this should be a number.