1073570: Enforce database constraint on one subpool per stack

We're running into a problem (BZ 1073570) where concurrently
binding different pools that share a stacking_id grants multiple
bonus pools rather than the single one that is expected.

This patch splits source consumer and stackId from cp_pool
into cp_pool_source_stack where we can enforce a unique
constraint for each pair of consumer_id and stackid.

Deletion cascades are temporarily added so that existing
pools and their granted entitlements can be deleted. The
Migration query will keep one of the subpools with the
most entitlements currently in use.
Use 37 length uuid2 for SourceStack (cp_pool_source_stack)

Keeping this commit separate in case we need to backport
Merge pull request #536 from candlepin/ckozak/one_subpool_constraint

Ckozak/one subpool constraint