Restart apps that died due to errors

See the commit comments.

Also see [App Restart](https://github.com/eugeneia/snabbswitch/wiki/App-Restarts) for prior thoughts.
Apps can die (throw) during their `report' routine, so we protect that too.