Refactor oo-admin-check-sources.py, add repo_db.py for resolving repo attributes

This commit adds the repo_db module, which provides functions for
resolving repoids or lists of repoids against lists of "blessed" repos
and their expected or assigned attributes. For example, you can use
the enabled repos + installed packages on a system to guess the
version (by comparing against repoid and key_pkg attrs) and then use
that to verify the version and roles specified by a user.

oo-admin-check-sources.py has been rewritten to use repo_db, and also
changes the RHSM/RHN entitlement handling. Now "hybrid" systems aren't
supported, but rather for systems with both RHSM and RHN
subscriptions, RHSM is preferred unless all OpenShift channels are
provided by RHN.

This revision also adds version detection, so theoretically OpenShift
Enterprise 2.0 should be supported.