Cleanup in owl_zwrite_create on error cases
Before, the caller was required to cleanup, even on error. This is kind
of weird. In particular, owl_zwrite_create_and_send_from_line forgot to
so there was a small leak in there.
Also with the previous set of commits it's now possible to error from
owl_zwrite_create_from_line before the owl_zwrite is initialized, which
means that owl_zwrite_new_from_line on misquoted strings explodes. Oops.
Although I don't think this is actually possible to trigger.
Also be consistent about whether rv != 0 or rv < 0 is the error
condition. Barring any actual arguments one or another, I'm going to
arbitrary declare it's the former since that function doesn't really
have a useful number to return.