Fall back from uv tty instances more aggressively

It appears that uv's support for interacting with a stdio stream as a tty when
it's actually a pipe is pretty problematic. To get around this, promote a check
to see if the stream is a tty to the top of the tty constructor, and bail out
quickly if it's not identified as a tty.

Closes #10237
Update to the latest libuv

At this time, also point the libuv submodule to the official repo instead of my
own off to the side.

Closes #10246