(PUP-2039) Fix rpm package provider usage of --whatprovides.

The fix for PUP-897 (commit ecb761e24a) introduced always passing
--whatprovides to rpm when querying for packages. This breaks querying
for packages that have architectures specified, e.g.
'vim-enhanced.x86_64'.

The proper way to do this is to first query without --whatprovides and
see if rpm finds a package by the given name.  If rpm fails to find a
package, fallback to using --whatprovides to support querying for
virtual package names.
Merge pull request #2476 from peterhuene/pup/2039

(PUP-2039) Fix rpm package provider usage of --whatprovides.
(PUP-1937) Revert changes to with_version

Changes were made to with_version for Windows to use beaker's puppet
command instead of Command.new directly. This change is now reverted.
Merge pull request #2481 from colinPL/revert_withver_stable

(PUP-1937) Revert changes to with_version
Merge remote-tracking branch 'upstream/stable'

* upstream/stable:
  (PUP-1937) Revert changes to with_version
  (PUP-2039) Fix rpm package provider usage of --whatprovides.
(DOCUMENT-22) Clarify the cron properties user and target

For the default cron provider, `user` and `target` are tightly coupled which
creates a brittle and unhealthy relationship. Re-worded the doc strings for
these properties to call out this relationship and recommend that `user` be
used instead of `target`.
(maint) Document Cron autorequre of user resources

A Cron resource will autorequire the an User resource with the name specified
by its `user` property.
Merge branch 'master' of https://github.com/puppetlabs/puppet