Whitelist libgcc_s.so.1 on Solaris:

https://www.opencsw.org/packages/CSWlibgcc-s1/
Merge pull request #117 from opscode/libffi-health-check

Whitelist libgcc_s.so.1 on Solaris
Incrementally cache the software builds in git

* Adds Guard support for both Rubocop and Rspec
* Removes Rake as a dependency
* Adds a git cache, with a tag for each software revision
* Builds all transitive deps before top level deps
* Does tagging with a hash of deps, ensuring every cache entry is safe
  to use - safe for bulding different, major versions on the same build
  systems. :)
* Throwing in a rubocop fix exists? should be exist?
Merge pull request #105 from opscode/git-cache

Incrementally cache the software builds in git
Use -q option for git commit when saving to cache

Using -q prevents git from displaying the warning message about user
config not being set:

```
Committer: root <root@default-ubuntu-1204.vagrantup.com>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:

    git config --global user.name "Your Name"
    git config --global user.email you@example.com

After doing this, you may fix the identity used for this commit with:

    git commit --amend --reset-author
```
Use git to filter tags when searching cache

The `git tag -l` can be given a pattern such that only tags matching the
pattern are returned. Instead of retrieving a listing of all tags and
filtering in the ruby code, we now ask for the tag we are looking for
and will get back either a single line (hit) or no output (miss).

This will greatly reduce build job output which was streaming the
tag listing multiple times prior to this patch.
Include software config file content in tag digest

Ensure that a change to how an item is built invalidates the cache. This
is important since a build could succeed and be saved into the cache
only to later fail the health check. In almost all cases, the fix for
this will either be a change to the software or its build config.

When computing the cache key (git tag name), we now compute the SHA256
digest of $SOURCE_CONFIG + $DEP_STRING where $SOURCE_CONFIG is the
contents of the software config and $DEP_STRING is $NAME-$VERSION of all
items built before this one delimited with '-'.

Omnibus::Software has a new attr_reader source_config to allow access to
the file contents of the software config.
Merge branch 'sf/git-cache'
Add notes on how the git based caching works
Add configuration options for DMGs
Add support for building the DMG
Add specs for new config options
Use the same name from the .pkg as the .dmg
Add OSX-specific docs
Package default assets in the generator for mac packaging
Calculate required dmg files
Fix failing specs
Update OSX README
Document caveat about configuring the DMG build
Up the size of the dmg