* Add common.RecoverWithHandler
Allows panic recovery that still reports to Sentry, with caller-defined
handling afterward, so there's no confusion about chained recover() or
re-panicking.
* Catch ChunkUnit panics and include them in report
Keeps panics showing in Sentry, and includes panics in existing
first-fatal-error behavior, but does not propagate panics further
upward any longer.
* Test SourceManager ChunkUnit panic reporting