keep up with pkg.latest state
Update to the PKGREPO apt functions in apt module

* URI is was not really a functional feature since
  the uri was the element that the pkgrepo functions
  used as a base for matching internally.  it is essentially
  a new source definition if the URI changes, so the best
  bet is to .absent the repo and add a new one.

* added in ability to manage repo keys to the APT .managed module
  and by nature of how .manage calls apt.mod_repo, the pkg.mod_repo
  can also now add GPG keys for the apt repositories

* added "consolidate" option.  This will smash down the apt repositories
  into as few lines as possible.  It should do some basic cleanup.  This
  function helps (when enabled) to ensure that salt doesn't miss a repo
  when it's not the "first" matched in the .get_repo function for a
  .managed state.

* changed pkgrepo to watch for exceptions from .mod_repo so that if
  there is an error (exception) that is raised (intentionally or
  unintentionally) the error is displayed to the user.

* updated documentation for apt pkgrepo to reflect these changes
Merge pull request #3463 from morganfainberg/pkgrepo-apt-update

Update to the pkgrepo apt functions in apt module
update docstring for available_version()
fix version type
Support git describe versioning on windows and also one less subprocess call. Refs #3461.
`zmq.IPC_PATH_MAX_LEN` is not available in older ZMQ, only on PyZMQ>=2.2
Merge pull request #3466 from s0undt3ch/hotfix/zmq-ipc-path-max-length

`zmq.IPC_PATH_MAX_LEN` is not available in older ZMQ, only on PyZMQ>=2.2
Fix bug in nested outputter when displaying floats

Just a simple fix for a bug that was keeping floating-point numbers from
showing up in the new nested outputter.
Merge pull request #3468 from archtaku/quickfix

Fix bug in nested outputter when displaying floats
PEP8 fixes from PyLint
Modify pack_pkgs() to return name/version pairs

This is in preparation for #3278. This commit preserves backwards
compatibility for providers that have not been updated to support
specific version numbers the "pkgs" argument to pkg.install.
Make version specification work with "pkgs" (yum)

This makes yumpkg{,5}.py ready for #3278. It also makes version
specification for single-package installs work in yumpkg5.py.
Check "version" kwarg after parse_targets
PEP8 fixes from PyLint
Fix pkg.install for one-pkg install w/out version

This fixes a bug I introduced in a commit earlier today, which would
affect modules I've been working on to prepare for #3278 (yumpkg,
yumpkg5, and apt). A traditional single package install would fail
if a version was not specified.
Make version specification work with "pkgs" (apt)

Also a minor bugfix in available_version and miscellaneous PEP8 fixes.
Add version specification to zypper

This commit introduces version specification to zypper, as well as
prepares it for #3278.
Docstring updates to reflect new features
Minor fixes to tonight's zypper changes