add logging to failures caught in doRestartChild

The `Left` branch of doStartChild is unrecoverable. It currently drops
the affected child without logging.
kill supervisor upon unrecoverable errors in child

See discussion on PR #87.
fix reversed if case + comment in doRestartChild
replace brutal `die` in doRestartChild with `stopWith`

See discussion on 6656a92.
Improve handling of unrecoverable errors caught in doRestartChild

The Left branch of doStartChild is unrecoverable, but it currently drops the affected child without logging.
Thanks Tavis Rudd.