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.
This is probably a no brainer. Lua only gives us `pcall` so we use that. On failure we tag the `app` with its error and time of death.