In order to fix https://bugs.llvm.org/show_bug.cgi?id=33339 we need to keep CallBackVH for instructions inserted in the stratified sets so that we can remove when, e.g. instcombine or any other transform remove the instruction.
When looking at fixing this I noticed that Andersens' and Steensgaard's analyses end up duplicating a considerable amount of code, including the cache. This is a first step towards the unification of what's common to the two analyses.