Panicking tasks should abort process if not handled

RFC for issue opened here: https://github.com/rust-lang/rust/issues/19610

> Rust does not fully poison (see my example program, which uses shared memory, panics a task, and keeps on "running").

It poisons mutable shared memory when it can contain arbitrary data. It doesn't need to poison other things.

> Nor does lack of poisoning make anything memory unsafe if it is only using safe constructs. It may introduce logic errors, and make writing unsafe code harder, sure.

It would also force `unsafe` code to be less efficient, so safe code will be less efficient. There is already a high performance cost in many places due to panics. For example, `PriorityQueue` takes an ~30% performance hit due to exception safety. Needing to keep further method calls valid beyond just destruction will force more costs.