let projects use a different gem than omnibus-software

Patch does the minimum to let projects include a different config in
their git repo to use a gem other than omnibus-software.

I looked at trying to make it per-project, but since omnibus loads all
project definitions it can find that led down the road of being able to
specify multiple different software gems in different projects which
made no coherent sense because they're all just ultimately required into
the same ruby gem, so there can really be only one, so the top level
config is more appropriate.

It could also try to be more dynamic and magic and pluggable like knife,
but we use "config/software/*.rb" for config files which isn't a very
unique namespace so we might get into fights with other gems out there.
include better docs on software_gem option
Use Mixlib 2.0 syntax
Update gemspec
Add config_spec
Add omnibus_spec