Merge pull request #123 from sosiouxme/enterprise-2.0

<install> subscribe multiple RHSM poolids
<oo-admin-check-sources.py> Bug 1023371, Bug 1024532 - fix logic for subscription/version detection, add and refine "fail-then-bail" workflow
https://bugzilla.redhat.com/show_bug.cgi?id=1023371
https://bugzilla.redhat.com/show_bug.cgi?id=1024532

This improves subscription/version detection to address BZ 1023371,
addresses the missing repo error from BZ 1024532 and adds logic to
stop after a class of issue (missing repo, disabled repo, etc.) has
been detected.

Also:

* set the exit code to `0` if no problems are detected, `1` otherwise

* improve subscription type and version detection

* moved yum-plugin-priorities check to be right before the dependent checks

* repaired ose-2.0 repoids in `repo_db` - they seem to have changed at
  some point in the past week?

Work remains - the fail-then-bail workflow applies to the `--fix`
option as well, which might not be what we want
Merge pull request #126 from dobbymoodge/check-sources-bugs

<oo-admin-check-sources.py> Bug 1023371, Bug 1024532 - fix logic for subscription/version detection, add and refine "fail-then-bail" workflow
<check-sources> Bug 1023374 - detect and fix/advise repo version conflicts
https://bugzilla.redhat.com/show_bug.cgi?id=1023374

Added logic to check for enabled repos with versions different from
detected or specified `oo_version`. Also added `disable_repo` method
to `check_sources.py` so mismatched repos can be disabled.

Bonus: Added "No problems were detected!" so humans can tell that
their repos pass muster.
Merge pull request #127 from dobbymoodge/check-sources-bugs

<check-sources> Bug 1023374 - detect and fix/advise repo version conflicts
<oo-admin-check-sources.py> Bug 1025147, give repo disable instructions according to repo subscription type
https://bugzilla.redhat.com/show_bug.cgi?id=1025147

Group conflicting repos by subscription type and print appropriate
instructions for each group. UX could probably stand improvement here

Also adds blank line between role validation and version/subscription
detection output and repo advice output
Merge pull request #131 from dobbymoodge/check-sources-bugs

<oo-admin-check-sources.py> Bug 1025147, give repo disable instructions according to repo subscription type
<oo-admin-check-sources.py> Bug 1025560 - Store repo conflict resolution and guarantee uniqueness before updating priorities

Non-blessed repos which provide a package that conflicted with
multiple blessed repos would result in multiple lines of advice being
output. This commit adds a dictionary - `resolved_repos` - where
pending repo priority conflicts are stored for later resolution. The
dictionary is keyed by repoid, guaranteeing uniqueness, preventing the
multiple redundant lines of advice.
Merge pull request #132 from dobbymoodge/BZ1025560

<oo-admin-check-sources.py> Bug 1025560 - Store repo conflict resolutionand guarantee uniqueness before updating priorities
<check-sources> Add useful command line options

Adds `--subscription-type` to allow the user to specify what
subscription/entitlement system is in use

Adds `--fix-all` so particularly trusting users can allow the tool to
fix all the problems it finds in one pass

Adds `--report-all` so all detected problems (relative to the *CURRENT
STATE*) can be reported instead of stopping after the first problem is
found.

Adds supporting logic for the new options (particularly
`--report-all`)

Adds various bugfixes

* repoids were being returned for certain queries in `blessed_repos`

* `--report-all` revealed a condition where a missing repoid would be
  passed to `verify_rhel_priorities`
Merge pull request #133 from dobbymoodge/check-sources-bugs

<check-sources> Add useful command line options
<oo-admin-check-sources> make executable
Fix condition where repo_priority is run against missing repo
Merge pull request #135 from dobbymoodge/check-sources-bugs

Fix condition where repo_priority is run against missing repo
<oo-admin-check-sources.py> Fix redundant priorities advice

Cache priorities fixes in `resolved_repos` so `--report-all` gives
reasonable output. It was repeating the priorities setting advices for
the base RHEL channel and warning about repo priorities >= 99 after it
advised to set the same repos to a lower priority
Merge pull request #136 from dobbymoodge/check-sources-bugs

<oo-admin-check-sources.py> Fix redundant priorities advice
<check-sources> Add rhscl repo priority checking

Added entries in `repo_db.py` for rhscl RHN and RHSM repos, massaged
logic for priority and conflict checks to put RHSCL repos at same
level priority as OSE repos
Merge pull request #137 from dobbymoodge/check-sources

<check-sources> Add rhscl repo priority checking
add README and function docs for oo-admin-check-sources and repo_db
Merge pull request #140 from dobbymoodge/check-sources-doc

add README and function docs for oo-admin-check-sources and repo_db