simplify file descriptor juggling

now, we swap stdin/stderr and use tee to

a) keep the original stderr
b) have another copy to mess with for warning checking

of course we swap them back later on :)