modules.zypper: add get_repo and list_repo (via libzypp)
modules.zypper: add del_repo
modules.zypper: add RepoInfo class to encapsulate zypp.RepoInfo
modules.zypper: add mod_repo (without adding functionality)
modules.zypper: mod_repo: add create functionality
modules.zypper: mod_repo: fix docstrings
modules.zypper: fix emtpy url handling
modules.zypper: underscore RepoInfo
Added support to manage bans and params

* Added support for ban and ban.list
* Added support for param and param.show
* Added support to obtain complete version of varnishd (incl commit
  hash)
* Simplified purge function to use recommended Varnish 4.x syntax that
  actually works in Varnish 3.x
* Dropped support for Varnish 2.x in purge (actually it's pretty old and
  unrecommeded)
Add salt roles
Fixed some little things to satisfy pylint
Remove unecessary (hopefully) sleep from highstate run (from #12137). No mention in the ticket why a sleep was needed, and that shouldn't be-- if it is then we have a race condition somewhere :)
Fixed some more little things to satisfy pylint
Adding information to docstrings to indicate that the python-apt package needs to be installed for the aptpkg module to work and pkgrepo state to manage apt repositories.
Properly handle file:// URIs when trying to cache local files

This fixes a regression introduced between 2014.1.0 and now, likely
around the time when we moved to using the requests library. It allows
for local file paths (either prefixed with 'salt://' or not) to be
"cached" by simply returning the file path.
Don't allow templating of files when dest == source

This would clobber the template, so raise an exception.
Add tests for templating local files
Clean up filehandle usage in file state tests

This does a few things:

1. Change calls to open() to use salt.utils.fopen()

2. Use with blocks where applicable
modules.zypper: dict comprehension replace
WIP 13793 Initial fix