Each 'exec' now keeps track of the variables that go out-of-scope when
the exec completes.
CondScope variables need to be re-linked when they get merged.
We now poison a variable when it is freed to ensure it doesn't get used
again by mistake.
The final cleanup now only needs to handle global variables
Signed-off-by: NeilBrown <neil@brown.name>