quiet git config warning messages when saving to cache

Enhancements to git caching

Use -q when calling git commit so prevent git from displaying warning about email/username not set in config.

Leverage `git tag -l $ARG` for cache key lookup. This prevents listing all tags to the log on each cache lookup.

Include the software config definition source file in data used to generate the tag. This way the cache key is invalidated if you edit the build config of a software item.

I've tested a build locally with this both building fresh and 2nd run using cache and it worked -- with less output during build.