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. :)