entitlement: refresh object state before r/w calls

Make sure to get the latest state from disk before attempting
a cancellation, change plan or uncancellation.

Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
entitlement: trivial cleanups in TestDefaultEntitlementApi

Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
entitlement: first pass at blocking add-ons for base plan changes/cancellations

Implement the same logic as in subscription base, i.e. determine if add-ons need
to be blocked in case of base plan cancellations and plan changes.

The bulk of the logic is in EntitlementUtils, called from DefaultEntitlement and
DefaultBlockingStateDao.

This is a first pass, in order to get early feedback on the implementation. We still
need to think through (and probably write tests) for uncancel and transfer scenarii (i.e.
do we do the right thing in these cases?).

Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>