REPL: warn on non-owning qualified accesses (#54872)
* Accessing names from other modules can be dangerous, because those
names may only be in that module by happenstance, e.g. a name exported
by Base
* the keyword `public` encourages more qualified accesses, increasing
the risk of accidentally accessing a name that isn't part of that module
on purpose
* ExplicitImports.jl can catch this in a package context, but this
requires opting in. Folks who might not be writing packages or might not
be using dev tooling like ExplicitImports can easily get caught off
guard by these accesses (and might be less familiar with the issue than
package developers)
* using a REPL AST transform we can emit warnings when we notice this
happening in the REPL