distinguish selftype from others. resolve record name conflict (idtyp and exprtyp)
1) make TYPEID token switch from string to typename to enforce SELF_TYPE is dealt with everywhere
2) added Conforms module that implements inheritance graph validation and queries
added U type operation to find the common ancestor
ocp indent on cool_main
move main to end
type for the object ids
added MethodId type