Primarily relevant to the unit tests: When a Processor is destroyed, the scheduler does not unschedule
the dangling proof cleanup. While most unit tests do not run long enough for this to be relevant, it's
clearly wrong that a scheduler can accumulate lambdas that capture destroyed objects.
This patch moves the dangling proof cleanup scheduling to init. The unit tests may call
cleanupDanglingProofs() directly if needed.