Report child error to parent

Closes #22
Only possible errors are bad fd (non-existent or non-socket) or no connection.
We can return "bad parent fd" in all cases.