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