Enable RPM support for SUSE family
Add package verification
Added file operations for the package management
Moved file ownership by a package to the lowpkg module.
Fix linting
fix lstrip
Get known package patterns, available in Zypper repos
Add initial unit tests for module.run state function
Added updates to 2014.7.0 release notes
Merge pull request #16875 from rallytime/release_notes

Added updates to 2014.7.0 release notes
Use the image id as name is not unique for DigitalOcean images.
Correctly detect additional pages in DigitalOcean API v2
Register error handlers with reactor as callbacks

This is kind of a wild idea, but here goes.

I modified the reactor system to accept raw functions that act as
callbacks.

This means that we can get rid of loops that check for events and
instead just write functions that can register *theselves* with the
reactor and then have events streamed back to them. This has a lot of
interesting applications, such as facilitating a GUI that, instead of
using an REST API, could simply have a lightweight event-driven API that
registers with the reactor and has updates streamed back to it.

This is a proof of concept of this idea which illustrates minion error
messages being tossed across the event bus and the master registering an
error handler with the reactor to process them.
Improve filter_by() base argument:

  * Change filter_by() base argument to a key in lookup_dict rather
    than a dictionary.  This allows more compact usage and more
    readable use of base values/defaults in the lookup_dict.

  * Change/improve function-local documentation for lookup_dict().

  * Add specific use-case of "base" argument for lookup_dict() in the
    formulas documentation.

  * Expand filter_by() unit testing to validate use of base argument.

  * Add unit test for salt.utils.dictupdate.update() to provide
    complete depth-of-testing of filter_by() which uses
    dictupdate.update().
Appease the pylint gods; back-out unrelated changes.
Support job data
Fix event forwarding, someone (during refactoring?) had removed registering the event socket to the poller, which meant that the syndic would never forward events
Fix for #16825

In the case that you are a lower level master (under a syndic) we weren't calling prep_jid, which meant that the job wasn't initialized in the cache. Now we call prep_jid all the time, optionally with a jid passed in. This way the master can ensure that it is ready to store information about this jid when it goes further down the track (ret, save_load, etc.)
Install repoquery if not present on yum-based distro

Resolves #16874.
Workflow to display minion exceptions in LocalClient