Moved `syntax::ext::base::SyntaxEnv` into `syntax::ext::base::ExtCtx`
Refactoring: Only use `MacroExpander` for expanding outside of
`syntax::ext::expand`
auto merge of #15834 : Kimundi/rust/moved_syntax_env, r=cmr

- Made custom syntax extensions capable of expanding custom macros by moving `SyntaxEnv` into `ExtCtx`
- Added convenience method on `ExtCtx` for getting a macro expander.
- Made a few things private to force only a single way to use them (through `ExtCtx`)
- Removed some ancient commented-out code

Closes #14946