Add ignore for test output files

I've set the convention that output files for test cases should be
named with the suffixes .actual.txt and .expected.txt. Since actual.txt
corresponds to the particular run it shouldn't be included in git.
Add HTTP Response debugging

I needed a way to ensure that some upcoming changes to the response
class didn't break anything so I first needed to build a reliable way
to get the full response content as it would have been sent in an
actual HTTP request.

Part of these changes included restructuring how some headers (such as
the status line) are sent to facilitate collecting them for output. In
the future I'd like to make more drastic changes to simplify this
process further and reduce redundant code.

I also added a smattering of documentation comments.