Method for updating manifests in distributor systems

Previous method used upstream pool id in existing subscription to match with new entitlements.
The possibility of having multiple entitlements from the same upstream pool makes this error prone.
New method will first match upstream pool and entitlement id from incoming entitlements.
Next it will match upstream pool and exact quantity to cover scenarios where the intent is to re-establish the distributor from the host.
It will then match using the quantity by ordering the remaining incoming entitlements and remaining existing subscriptions in descending order.
The highest will match on down from there.
Either remaining subscriptions will be deleted, or unmatched incoming entitlements will be turned into new subscriptions.
887113: Katello adds subscriptions twice

Spec test that shows the conditions of the reported bug.
Updates from review

Additional tests for more scenarios
Better logging for reconciliation algorithm
Cleanup of spec test
revert logging
Merge branch 'master' into wottop/manifest-import-update

Conflicts:
	src/main/resources/db/changelog/changelog-create.xml
	src/main/resources/db/changelog/changelog-update.xml
Merge pull request #173 from candlepin/wottop/manifest-import-update

Wottop/manifest import update
Automatic commit of package [candlepin] release [0.7.25-1].
Improve the performance is checking for guests for a given host.

This patch removes a sub-select from the query in lieu of using joins. Joins tend to be much more performant. This does hardcode the table names which is bad, but the table names existed in the old subselect. This should not be any more fragile.

During the research, it was pointed out that this query should facter in the owner to handle the cases where two owners have guests witht he same UUID. This patch resolves that issue as well by taking in the owner id as part of the query.
added F18 support
Merge pull request #177 from candlepin/bkearney/virt-guest-performance-fix

Improve the performance is checking for guests for a given host.
908671: Add pool ID to entitlement certificate.
add F18 support
add virt only test data
use isManifest to determine if virtonly guests should be allowed
verify virt_only available for manifest consumer
cleanup spec test
separated manifest check in rules, added a test
Merge pull request #180 from candlepin/virtonlymaster

909495: Virt-only subscriptions are not exportable
Merge pull request #178 from candlepin/awood/908671

908671: Add pool ID to entitlement certificate.
Merge branch 'master' into compliance-js-spike