Panicking tasks should abort process if not handled

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

> Oh I understand. But then it proves my point that poisoning is not enough to prevent the issue I describe, where one task panics and is no longer doing what it should making the shared state, while not inconsistent, to be potentially incorrect.

It is enough to uphold memory safety without forcing all `unsafe` to use transactions.