transform: do not detach things while itering

This invalidates the underlying iterator.

Signed-off-by: Jean Privat <jean@pryen.org>
rta: guard `add_send` with a specific set, instead of overusing `live_methods`.

Eg. a monomorph method could be live, without being subject to try_send.

Signed-off-by: Jean Privat <jean@pryen.org>
rta: add_monomorphic_send mark the mproperty as live

Signed-off-by: Jean Privat <jean@pryen.org>
rta: do not try to remove things from a set in iteration

Instead, register the things to remove then remove them once the
iteration is over,

Signed-off-by: Jean Privat <jean@pryen.org>
transform: disable transform of ASuperstringExpr

Signed-off-by: Jean Privat <jean@pryen.org>
typing: remove `raw_arguments` as a cache

Because of transform and other potential optimization using astbuilder,
the typing phase cannot stores the raw_arguments and expect it is still
valid after subsequent phases.

The simplest way is to make `raw_arguments` a method that recollect the
correct nodes.

Alternative using some kind of cache invalidation seems to complex for not
a real gain.

Signed-off-by: Jean Privat <jean@pryen.org>