Add namespace support for rename operation

So that the let bindings and loop labels with same name won't clash.
Also, mtwt hygiene code is now @-free.

Closes #12512.