Avoid throwing exceptions in macro context.

This eliminates probably the last place where type errors are thrown
in an obvious way - reporting errors is off for whitebox macros, which
makes it pretty annoying if you are trying to understand the decision
process of implicit search (any c.abort will throw a type error rather
than simply buffering an error like in every other normal case).

As a bonus we get more messages that are reported during (failed) macro
expansion (see updated test case).