Don't log an exception used to explicitly exit

Adds an exception which scheduler jobs can throw to intentionally stop
by way of an exception which the scheduler will catch and not log.
This makes it so when running, for instance, tests which Discard()
runners shutdown in there isn't needless logging of a mundane event.

@jmlvanre, @JasonL9000: Look reasonable?