HttpServer::stop will wait for connection completion

Now, a connection is required to be released to the HttpServer if it is
stopped.
The HttpServer will wait for all the connection to return:

* All async operation will be cancelled: Connection will always call
  HttpServer::connection_error, it will log the error only if it is
  different from eof/aborted/reset;
* sendResponse/sendContinue will check before starting the operation if
  the current connection is cancelled or not. There is a little "race
  condition", a connection can be cancelled after the check, but then I
  expect boost::asio to throw an error or even to call the handler with
  the proper error (most likely);
* The external call are now thread safe because since the operation on
  the connection can be cancelled, another thread could have accessed to
  the socket.