Be more specific with `die` reasons in Supervisor

Several calls to die were using opaque reasons that were unhelpful to
developers during debugging. Thanks Tavis Rudd.