Enable O_NONBLOCK to be able to detect the difference between a timeout and a modem disconnect (EOF). With this change, it's also possible to implement write timeouts.