Add a logging mode that is not too verbose
Validate URL protocol and redirect HTTPS URLs to the origin server.

Camo can encounter HTTPS URLs if a HTTP URL redirects to HTTPS.  It
previously ignored the protocol and requested as HTTP anyway. This meant
it repeatedly made the same request because it ignored the redirect.

This also avoids attempting to follow URLs with protocols other than
HTTP and HTTPS.
Don't leak open upstream connections

Close the upstream connection if we're not going to read the response
body.
Adjustable content-length limit
Fix socket timeout

Change the log message and variable names because Socket.setTimeout is not
a connection timeout, but a timeout after inactivity on the socket.

It is also necesary to close the connection with `.abort()` rather than
`.end()`. end only signals the end of the request body and does not close
the connection.
Cancel origin requests if client disconnects.

They would get caught by the timeout, but best not to let them sit around.
Merge pull request #33 from kevinmehall/fixes-for-upstream

Several robustness fixes and improvements