checking if the post body is valid
renamed parseRequest to parseRequestHeader to better reflect what it does

* also parsing the Content-Length field into a separate field in RequestData
Reimplemented the reading part of HTTPThread by:

* using the async features of QTcpSocket via signals & slots
* properly reading the network data no matter how many chunks I receive, this is
* done using the Content-Legth header field in case of a POST request and in
* case of a GET request using the CRLF sequence itself as a marker for the end
* of the request
using signals and slots to handle errors and to write data to the network
error out if a POST request with no Content-Length field is made
the requested path cannot be empty
setting the content-length to 0
cleanup