Add finalizer for safety

Update Stop to be 'safe' to call when the stream isn't started.
Add a finalizer to the Stream to protect against a panic when the stream
is freed while it's running. The finalizer stops the stream instead to
avoid the panic.