Clean up line buffer's data buffer

I just forgot to write a destructor that frees the allocated memory.
Fix blank line bug

There was a bug where spurious blank lines where getting inserted into
messages.  This really just falls out of the fact that there may or
may not be a CRLF pair that ends every IMAP response line.

The bug would manifest itself when a CRLF pair was used to terminate a
line, but that pair was split over two read() calls.  Essentally the
CR would show up, get parsed into a newline, the LF would show up, and
get parsed into another newline.

I now only allow newlines that end in a LF, but then proceed to eat a
proceeding CR if one was there.  This appears to fix the problem, but
won't work for servers that just send CR or send LFCR; -- hopefully
there aren't any of those :).