Add an `Omnibus::Util` module for utility methods

First methods up are `shellout` and `shellout!`, nice wrappers around
`Mixlib::ShellOut`.
return version of '0.0.0' if git describe parsing fails

Until the first annotated tag has been cut in a repository git describe
fails with the following 128 error:

  fatal: No tags can describe 'SOME_SHA'
leverage `Omnibus::Util#shellout!` mixin for shelling out
[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