Add environment whitelist/blacklist to gitfs backend

This pull request adds two new config paramters (``gitfs_env_whitelist`` and ``gitfs_env_blacklist``), which allow one to limit the branches/tags/SHAs exposed as environments. This can help speed up execution of state runs when many remotes are in use, as Salt will end up searching a smaller subset of environments for top files.

This pull also moves the expression matching from master.py, used in ``autosign_file`` and ``autoreject_file``, to a common function in salt.utils so that it can be used for whitelist/blacklist matching by the new whitelist/blacklist that has been added for gitfs.