Consumer specific content set/repo overrides

API to maintain overrides on the server.
To be used by client machines and SAM/Katello
Every call returns entire JSON representation of the set of overrides for the specific consumer.
Each add/delete command requires a JSON body.
public schema name unnecessary
Fix compliance rules for source consumer pools.

If a system is using an entitlement whose pool has a source consumer,
which has an environment, the JSON was not serializing coming back from
the rules. In this case environment content cannot have a reference to
it's environment, as that would be a circular dependency. However the
environment was used in the hashcode method causing a NPE.

Found in Katello where environments are used.

Changed to only use environment in the hash code if there is one. This
should be safe as any situation where we're hashing environment content
objects, should mean they're already separated by environment.

Includes some logging improvements as the exception was initially being
completely hidden from us.
Logging touchups.

As requested by beav.
1017394: Existing entitlement freezes all consumer entitlements when content set count is increased.

Result of fix is that only the entitlement with the content set excess will be frozen
The entitlement will remain in dirty state until either the content set count goes below 185 or the client upgrades to a V3 client version.
All other entitlements will behave normally.
Merge pull request #404 from candlepin/dgoodwin/json-fix

Fix compliance rules for source consumer pools.
Merge pull request #406 from candlepin/dgoodwin/logging-followup

Logging touchups.
Efficiently cancel jobs
alterations for code review
Merge pull request #410 from candlepin/ckozak/efficient_job_canceling

Efficiently cancel jobs
Merge pull request #403 from candlepin/wottop/consumer-content-override

Consumer specific content set/repo overrides
Added pinsetter job blocking for owner unique jobs
Merge pull request #407 from candlepin/wottop/1017394

1017394 - Existing entitlement freezes all consumer entitlements when co...
ActKeys can take null quantity, pick quantity upon activation
Strings update.
make variables more clear based on review feedback.

The use of key for both owner key and activation key was getting
a bit gnarly and made it difficult to understand at a glance what
was happening in the code.
Merge pull request #412 from candlepin/ckozak/activation_key_enhancement

ActKeys can take null quantity, pick quantity upon activation
fixes for review
Add content overrides to list of supported resources.
Merge pull request #413 from candlepin/ckozak/pinsetter

Added pinsetter job blocking for owner unique jobs