GenCode - Add an optional caching mode.

If CIVICRM_GENCODE_DIGEST is set, then GenCode will write out a digest of
all its inputs & templates. If someone tries to rerun with the same inputs,
then GenCode will do nothing.
GenCode - Ignore cache/digest if some key files are missing
Merge pull request #2342 from totten/4.4-cache-codegen

GenCode - Add an optional caching mode.