[fix] make error handling async so event handlers can be setup and actually emit an `error` event
[fix] add basic stream tests for the outer query interface