support start a server listen on an opened socket

support start a server listen on an opened socket, so we can start multiple server on one socket to get a better performance.

I also add a example named multi_server.erl, when this example is running in the erlang shell, use `curl 'http://localhost:port'` command serveral times will show the request is handle by different server.