Keep list of non-finished Stream instances

This is in order to avoid these instances being garbage collected
before coding has been finished, thereby not triggering
'finish' events. (Related to #3)
Stream list removal typo
Provide mode without async capabilities for older node.js versions

This aims at supporting node v0.8, where libuv has less threading
support, and may aid in debugging async behaviour.
Reset underlying lzma_stream instance after LZMA_STREAM_END

This saves a lot of memory between stream finishing and
garbage collection of the wrapper object, and since these
events may be a notable period of time apart, this
change seems meaningful to me.
Also, provides an de-facto fix for #3.
Merge commit '493c2e1a4cc20932b5cbbb0975abb0488f48c4b5'
(Optional compilation without async capabilities)
increase version to 0.2.2