Bug fixes

Description of major changes:
* read no more than request's content length data from client.
  
  There's no need to read data from the client if all request data has already been received.
  Moreover, such redundant calls to `connection::async_read` may lead to 'End of file' error.

* `buffered_request_stream` class reworked.
  
  Previous implementation had several bugs (see corresponding commit for more information).
  These changes aim to provide correct implementation of `buffered_request_stream`
  while keeping the same interface.

* `reply_stream::send_error()` method implementation fixed according to the documentation (in comment section).

* terminate connection on invalid URL or missing handler to process incoming request.
  
  These requests cannot be processed and if client already sent part of the request data
  (in case of POST request), it's safer to just terminate the connection after sending response.