C++ HTTP server code with curl-based test.

Tested on both Mac and Linux.
`fd_` is also initialized in the constructor, should we move/copy the default `-1` initialization here?