fix: segfault in send/recv on buffered sockets created from guile

Pb was: once the unbuffered guile socket object is garbage collected the
bufferred wrapper is not usable anymore.
Solution 1: keep a guile reference from buffered to unbuffered socket?
Solution 2: add reference counting on socks?
Workaround: gc_protect_object of the underlying socket (this patch)