Implement a binary I/O terminal mode in uv_tty_set_mode

- Introduce a uv_tty_mode_t enum with backward compatible values.
- New mode 2 (UV_TTY_MODE_IO), which uses cfmakeraw().
I agree with @saghul that UV_ENOTSUP is better.  UV_EINVAL means bad or illegal value but the mode value is legal, just not supported by the platform.