Prepare yum providers for #3278

These commits do the following:

1. Fix yumpkg5.py so that single-package installs work with the "version"
   kwarg in pkg.install states (this already worked in yumpkg.py).

2. pkg_resource.pack_pkgs now returns a dict of name/version pairs, instead of
   a list. This will allow #3278 to be implemented, by allowing for versions to
   be specified for each package in the "pkgs" list. Packages without a
   specified version will have a value of None in the return dict. Note that
   the pkg.install state does not yet support #3278, as a version check will
   need to be added in order to enforce the specified version. Backwards
   compatibility has been confirmed to work, however, as the data returned from
   pkg_resource.pack_pkgs (a list) is joined into a string, and passing a dict
   to str.join() will join the keys (which are the targeted packages).

3. Both yum providers are updated to work for #3278.


Note that this pull req also includes the nested outputter fix that I submitted
in pull req #3468.