Retrieving request body

Until now, I was only receiving the header information of a request, not
the body. For some requests, like POST, the body is needed.

The only way to determine if there is a body and how to get it is by the
"Content-Length" header. This means that in order to retrieve the body,
I have to parse the header info. Tricky design decision here--should the
Listener be able to parse? Should the RequestBuilder (which parses the
rawRequest string) be able to get more stuff from the client socket?
Should the two classes become one?

I went with the first plan. The Listener now returns an
ArrayList<String> object representing the rawRequest. It always has two
components: head and body. The Request object is instantiated with the
body, which can just be a blank string. (Also, no longer storing Request
version, as its unneeded.)