Improve standard_error

The process handling standard_error didn't handle the getopts request correctly, nor its options were consistent with standard_io and was subject to crashes on bad protocol input (e.g. `io:put_chars(standard_error, [oops])`).

No tests yet because I would like to discuss it first.

Cc @alco