closing socket when recvthread fails and effectively removing rungc routing (which was a hack anyway)

rungc looks at every single open connection checking for timeouts in
order to avoid leaks. I believe I've got the ``term`` procedure
working properly now in both ends, making this unnecessary.

Also this commit changes the stderr buffering policy to LineBuffering,
hoping this will help a bit with the concurrency over the stderr
fd. Using a PIPE instead of ``Inherit`` would probably solve this, but
it is too much trouble for debug.