interoperability tests with openssl s_client and s_server

- provide a command-line option for http client to not do certificate verification
- provide a http_server, which actually is a server listening on a port, waiting for a single request

the shell script interop-openssl-sserver executes openssl s_server
with various version and cipher arguments, and run http_client on
the other side (which exit code is evaluated to determine
success/failure). NB: client side tls 1.0 and tls 1.1 are broken atm

the shell script interop-openssl-sclient executes and evaluates
the success of http_server, while running openssl s_client with
various protocol versions and cipher arguments.
boilerplate update for new source file
renamed http_server to test_server, which is a more appropriate name
Merge pull request #75 from mirleft/interop-tests

Interop tests
lwt examples conditional on --enable-tests
tls.mirage
mirage/types copypaste

-- get rid of this
core types
core read+write loop
r+w
lifecycle utils
client ctor
ipaddr
tcpv4_lwt
style
server ctor
tentative `listen`
simplify + style
use types from mirage proper
server cert non-optional