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
WIP 13793 Initial fix
WIP 13793 Skips superuser on update
WIP 13793 Reverting accidental whitespace changes
WIP 13793 sql syntax fix
WIP 13793 Revert accidental whitespace changes
WIP 13793 Unit tests fixed
Fix spelling error: doctring -> docstring
Merge pull request #13919 from leonardinius/fix-13793-postgres

Fix for 13793 postgres
I can't figure out why this creates a violation on line 502
role --> __role