[JuliaLowering] Reconstruct macro name before, not during, macro expansion (#60170)
On top of https://github.com/JuliaLang/julia/pull/60162. This
simplification lets macro expansion handle the macro name as an
identifier rather than the nonterminal `K"macro_name"` node. That and
the old `MacroName` node (as well as `CmdMacroName`, `StrMacroName`) are
mainly the result of restrictions on raw parser output: we can't parse
`@Base.x` to a non-contiguous `@x`, even though that's what we want in
the AST in almost every case.