Merge pull request #14 from mgeier/streamptr

Dereference stream pointer only once
Add Stream.close()

See comments in #14.
Less restrictive error handling in start()/stop()/abort()

start() is now allowed even if stream is already started.
stop()/abort() is now allowed even if stream is already stopped.