Pull up changes from Genome::Command::Base

In preparation for switching `Genome::Command::Base` to a `Command::V2`, this addresses some patches that were made to the former but not previously brought into UR.
Yeah, I guess that's what I am wondering.

Maybe the `_can_interact_with_user()` and `terminal_input_filehandle()` should be replaced/consolidated with something like the following (pseudocode)?

```
sub tty_handles {
    return (
        _tty_handle(*STDERR, 'w'),
        _tty_handle(*STDIN,  'r'),
    );
}

sub _tty_handle {
    my ($fh, $mode) = shift;
    unless (-t $fh) {
        $fh = IO::File->new('/dev/tty', $mode);
    }
    unless ($fh) {
        die;
    }
    return $fh;
}
```