Cache gitfs environments

This commit improves performance by not repeatedly looking up the
list of available environments whenever they are needed, and instead
writing them to a cache file whenever the fileserver is updated (and
changes are found). envs() will prefer the cache if it is available.
Add config option to make ebuild.ex_mod_init() opt-in and better documentation.
Documenting backlinks to ebuild.ex_mod_init
fix corner of undefined var in buildout mod
compact zcbuildout log output
Fixing tests
Proposed travis fixes

See http://jenkins.saltstack.com/job/salt-pr-lint/314/violations/
whitelist expand_repo_def in test_valid_docs
Fixing #9694 master_uri is not updated when master_ip is updated
Updated the globbing doc with a link to compound matching, updated the compound matchin doc with another example,
Updated the archive state with a version add for Hydrogen, did the same thing for the list_present grain.
Merge pull request #9795 from terminalmage/travis

Proposed travis fixes
Merge pull request #9799 from gravyboat/develop

Updates to globbing and compound matching docs with an extra example, and visibility of documentation.
Merge pull request #9791 from makinacorpus/fix_buildout

buildout stuff
Catch an exception and log rather than dump stacktrace if lock file disappears
Double to single quotes
Merge pull request #9802 from s0undt3ch/develop

Double to single quotes
Merge pull request #9787 from terminalmage/gitfs-env-cache

Cache gitfs environments
Merge pull request #9788 from kaithar/feature/make-nice-portage-optin

Make ebuild.ex_mod_init's call to enforce_nice_config opt-in
Merge pull request #9794 from terminalmage/docs

Add note about pygit2's lack of .netrc support