Support streaming bodies in PUT/POST requests

These are the changes, without tests (unfortunately). I'll work on an end-to-end test suite using the HTTP server implementation and the HTTP client implementation to test the streaming PUT/POST messages.

PS. This also runs clang-format on the sources using Google's style.