Handle chunked transfer-encoding

I think this fixes #22. Checking whether the parser is finished also fixes indefinite hanging when talking to a server that expects keep-alive by default. The parser doesn't seem to worry about content-length, so I left that handling in even though you'd think `parser.finished?` would be set after content-length had been read, right?