datastore: runQuery as a stream. fixes #289

As discussed offline, @stephenplusplus and I agree on the fact that it would be more intuitive if in a stream context, .limit() affects the total number of results returned from the stream.