mirage: writes can properly fail
mirage: write can fail even more

Tricky bit: if write caused an error, we have to make sure the state is `Active
before saving the error and hanging up, lest we clobber someone else's error
that happened in the meantime.

This means the flow cell needs to be re-read.
mirage: check reactive writes too
engine: clearly denote absence of response
fix front-ends
Merge pull request #198 from mirleft/new-flow

mirage: write results -- thanks! :D