[mypyc] Make namegen not need to use suffixes to disambiguate (#7676)
Accomplish this by using a mapping that doesn't collide on valid
python identifiers. We map '.' to '___' and the (rare and unlikely,
but possible) '___' to '_3___'. (This collides '___' with '.3',
which is fine.)
This makes naming not reliant on the order of processing things
which is important for separate compilation, since it will turn out
that most of our "internal" names actually do need to be exported
(but we would still like to shorten the module name part).
I also like the output better, even though it is a little more
verbose, since it makes it obvious what is a module separator and what
is an underscore.