The proxy now dies somewhat gracefully when given a malformed request.
The `Content-Length' header is now only matched by the parser if its
value is an integer.
A request with a null or missing HTTP version in the header now defaults
to HTTP/1.0
A request with a null or missing `Host' header returns:
`ERROR: CrossDomain Request. The request was not sent.'
regardless of whether the host is specified in the URL.
In preperation for creating requester and proxy unit tests:
o Tidied up some of the requester and proxy
o Partially de-coupled requester from proxy
o Fixed minor bugs:
o is_valid_uri was not implemented correctly
o http scheme validation had "http" instead of "https"