gpg: fix mixed up pipe endpoints

os.pipe() returns (read_fd, write_fd) but we were assigning in the
opposite order.  It turns out this works just fine on FreeBSD (you
can write and read from both ends) but on Linux this blows up.

Flip the assignment order to get it working on Linux.