Add NotFoundHandler to minimize the boilerplate code
Improve documentation of AbstractHttpServerRequestHandler
Improve NotFoundHandler interface
add WebSocket::peerAddress and WebSocket::peerPort (Marco Molteni patch)
HttpVersion is a scoped enumarator (enum class) now
HttpResponseStatusCode is a scoped enumerator (enum class) now.
The previous name was HttpServerResponse::StatusCode.
Code cleanup (initializing complex object)
WebSocketError is a scoped enumerator (enum class) now.
Previous name was WebSocket::Error
WebSocketMessageType is a scoped enum (enum class) now.
Previous name was WebSocket::MessageType.
Removed tests
refactor: HttpServer::upgrade protected method replaced by the use of
std::function.

This change aims to provide a behaviour more flexible.

In the previous design, you'd have to duplicate code and play with inheritance
hierachy if you wanna set the same handler to different HttpServer subclasses.
Worse yet, it'd be very difficult to make high-level libraries, because
abstractions developed by different programmers could be incompatible with each
other.
Removed obsolete comment in HttpFileServer code
HttpFileServer detects mime info
Add convenient method to return a std::function functor handler from
HttpFileServer