Problem: client didn't handle error on open

If two clients try to read/write same pipe at same time, server
responds with INPUT_FAILED or OUTPUT_FAILED, and client treated
this as fatal (assert) error.

Solution: client now fails gracefully on such errors.

Fixes #59.