mergetool: Remove explicit references to /dev/tty
mergetool used /dev/tty to switch back to receiving input from the user
via inside a block with a redirected stdin.
This harms testability, so change mergetool to save its original stdin
to an alternative fd in this block and restore it for those sub-commands
that need the original stdin.
Includes additional compatibility fix from Jonathan Nieder.
Tested-by: Jonathan Nieder <redacted>
Signed-off-by: Charles Bailey <redacted>
Signed-off-by: Junio C Hamano <redacted>