stream: Never call decoder.end() multiple times

Fixes decoder.end() being called on every push(null). As the tls module
does this, corrupt stream data could potentially be added to the end.