Move reporting logic into Reporting trait

This stuff does not belong in Global/SymbolTable.
Should do the same for debugging/logging.

In the process, I slightly changed the behavior of
globalError in reflect.internal.SymbolTable.
It used to abort, but I don't think that's a good idea.
I couldn't find any call-sites for it (it was overridden in Global),
so I hope this is ok.
Track symbol that caused a deprecation warning.

So that we can filter deprecations based on defining package.