Improve c_conforms_to() and c_congruent_to() algorithms.
The current algorithms for the C_PRIMITIVE_OBJECT types are not systematically defined and can be expressed more clearly, by separating the type+occurrences part from the value constraint part.
Some impact on AOM2 implementations to adjust C_PRIMITIVE_OBJECT descendant classes.
Added the following methods to C_PRIMITIVE_OBJECT:
-- True if this node expresses a value constraint that conforms
-- to that of other. Effected in descendants.
-- True if this node expresses the same value constraint as other.
-- Effected in descendants.
Added concrete method definitions for descendant classes, and refactored the existing method definitions c_conforms_to() and c_congruent_to().