conn: make sure close() doesn't block
conn: make sure close() doesn't block

connection.receiver() runs in its own goroutine, and on read failure
calls conn.close().  Unfortunately, if conn.close() has already been
called this call blocks, never exiting that goroutine and causing the
connection object to be ineligible for garbage collection.

trigrass2/radix,alphagov/radix,beni55/radix,mediocregopher/radix.v2,bpowers/radix,gabrielperezs/radix.improved,fzzy/radix,bpowers/radix,mediocregopher/radix.v3,ctrlaltdel121/radix,rightscale/radix