Common.EscapeSourceEscaped identifiers "{|...|}".
is_escaped s tells if s begins with "{|" and ends with "|}" without overlapping. For efficiency, we just test that it starts with '{'.
unescape s removes "{|" and "|}" if s is an escaped identifier.
p is assumed to be a regular identifier. If n is a regular identifier too, then add_prefix p n is just p ^ n. Otherwise, it is "{|" ^ p ^ unescape n ^ "|}".
s is assumed to be a regular identifier. If n is a regular identifier too, then add_suffix n s is just n ^ s. Otherwise, it is "{" ^ unescape n ^ s ^ "|}".