Adds Stream::destroy() which ends the stream and cleans up emitters

This provides a mechanism to allow code to 'stop using' a highland stream. For example, in cases where a temporary stream should be piped to another stream, this method allows you to break that link and clean up dangling references.

See #37.