Tls

This PR adds TLS support using ocaml-tls. Due to reindentation of the modified code with ocaml-indent, the changeset is a bit hard to read, sorry about that.
Is there any particular reason to close the channel here (note that the fd is closed below in L469)?
In order to get a socket shutdown(2) (doesn't closing the fd imply shutdown SHUT_RDWR?)?