Minor tweak to summary canonicalisation: make sure that we take
maximum advantage of the inferred assumption if e.g. canon phase 2
reveals some other way of using it.
Whoops: need to stash the scopes structure as well as the CED data
itself, or it becomes very difficult to correctly parse.
The memory accesses generated by the free() and
pthread_{get,set}specific() stubs will never be bad pointers, so there's
no point in generating assertions to check that.
Enforcers can't handle registers other than the usual intger ones.
Filter them out early when building CEDs.
I keep forgetting what the right way to compile a CEP is, so add some
comments to remind me.
The double free detector seems to interfere with some tests.  Just
turn it off for now.