refactored the way we store datatype subsumers in contexts (to support
the incremental mode). now the decomposition rule applied to positive
IDEs creates a special kind of subsumer (DatatypeSubsumer) which doesn't
have any composition rules but is used to store/remove the IDE in the
datatype map in the context. The advantage is that we no longer need to
check if the subsumer is an IDE when adding each new subsumer to the
context.