better logging for -Ymacro-debug-verbose

Apparently, when introducing that logging facility I was quite fluent
in reading showRaw outputs. I am no more, so I'm making debug output
a bit more humane.
disentangles delayed expansion and macrosEnabled

macrosEnabled is something that dates back to the ancient macro history,
and it predates most of the later features introduced in the macro engine,
including the delay-expansion-until-all-type-params-are-inferred mechanism.

Back then I probably thought that it's a good idea to piggyback on the
delaying mechanism in order to implement macrosEnabled (especially given
that I didn't understand how the macroExpand branch in adapt affects other
adapt branches till mid 2013), but on a second thought that was a bad decision.

Now that we've accumulated a lot of machinery in-between an entry call to
typer.macroExpand and actual delaying logic that lives deep in the macro engine,
there's a high chance that some code there might inadvertently rely on
some invariant that doesn't hold when macrosEnabled is false. Therefore,
it makes much more sense to just prohibit entry into typer.macroExpand
altogether if macrosEnabled isn't enabled.
SI-5920 hardens macro engine against invalid inputs

Due to an unexpected combination of c.abort's in Slick codebase (something
that I've yet to minimize), it was possible for a Block of erroneous macro
applications to enter macro engine, wreaking havoc in undoNamesDefaults.
This commit prevents this from ever happening again.