Unclutter Reporter. Move truncation to ReplReporter.

Refactor to reduce the Reporter interface.
Should only be used to inform (info/warning/error). No state.

Move truncation to the REPL, since it's not relevant for regular reporting.
(Truncation is now always turned off in the repl under -verbose.)

Use currentRun/unit indirection consistently for higher-level reporting.

Untangle error resetting on symbols from error reporting (reportAdditionalErrors).
Pure refactor: reorder definitions
Tease out complex/stateful reporting from Run.

Next step: move Reporting out of Global.scala and make reporting configurable.