Add namespace support for rename operation

Maintains two renaming tables, one for regular idents and one for
lifetime idents (a loop label is of lifetime kind) so that let bindings
and loop labels with same name won't clash. Also, the mtwt hygiene code
is now @-free.

Closes #12512.
Move mtwt hygiene code to its own mod

Also fixes some FIXME's
Fix FIXME 5074 in the mtwt hygiene code