Wrap code in `#if !macro` so build macros don't break when printing them.

Update unit tests and run.n to match.

Previously if you had something with a build macro (eg. MyModel), then:

    var m = new MyModel();

would work, but when you try to print it's output:

    m

it would bomb out with an error about build macros and enums.

Not it works.  Thanks @dpeek