SI-7731 make CannotHaveAttrs more consistent

Previously setPos, pos_=, setType, tpe_= all behaved inconsistently
between each other even though they all represent similar
attributes that cannot be changed on CannotHaveAttrs trees.

In order to simplify handling of such trees in compiler code each
of these fields now supports assignment to it's current default
value: NoType for tpe and NoPosition for pos. Such assignments
don't mutate underlying trees.