Reimplement `enforceDisjointness` in a simpler way.
Reimplement `enforceDisjointness` in a simpler way.

Instead of cleverly pairing up only those combinations of
allocations that matter, we just construct all pairs and then
let `enforceDisjointAllocSpec` filter out those combinations
that are safe to skip. The intention of the code should be
clearer now.

GaloisInc/saw-script,GaloisInc/saw-script,GaloisInc/saw-script,GaloisInc/saw-script,GaloisInc/saw-script