Make :enter a proper node type (#52300)
This is a prepratory commit in anticipation of giving :enter additional
responsibilities of entering and restoring dynamic scopes for
ScopedValue (c.f. #51352). This commit simply turns `:enter` into its
own node type (like the other terminators). The changes are largely
mechanical from the `Expr` version, but will make it easier to add
additional semantics in a follow up PR.