build fix: removes warning during compilation

    nanomsg.c:142:59: warning: passing argument 5 of ‘nn_getsockopt’ from incompatible pointer type
cleanup: make explicit nn-socket foreign type

so we can tell what's what in foreign-lambda declarations. and so we can
introduce nn-socket record easily.
types: adds record type for nn-socket

gets boxed/unboxed automatically by nn-socket foreign type. (socket
'pub) now returns #<nn-socket>
feat: adds nn-close to nn-socket's finalizer

now you don't have to remember to close your sockets as they will be on
gc's.