Content length

- Add automatic content-length header based on Body length. Enabled by default, but can be turned off with `Request.IncludeContentLength = False`
- Use http status code 408 (Request Timeout) instead of 504 (Gateway Timeout) for request timeouts
- Refactor `HttpSetup`

Closes #13