Destructor.
~stream_parser();
All dynamically allocated memory, including any incomplete parsing results, is freed.
Linear in the size of partial results
No-throw guarantee.