Created template OwningPtrSet derived from llvm::SmallPtrSet and refactored EffectSummary
and RegionNameSet to derive from OwningPtrSet
Update of epic proportions!
+ Adding incomplete support for default annotations
+ Added typechecking for assigning a pointer/ref to a derived class to one
  to a base class