stream: Never call decoder.end() multiple times

Updated version that does what it says without assigning state.decoder.
test: No need for kicking in streams2 test

This was necessary when we weren't auto-starting when a 'readable'
listener is added.