datastore: runQuery as a stream. fixes #289

This didn't make sense to me. It's an error if an API error occurred, but not if there were no results, right? `resp.batch` will always exist (https://github.com/GoogleCloudPlatform/gcloud-node/pull/291/files#r20029338) and if entity_result is empty, we would just return an empty set of results.

Or is this weird because of the protobuf stuff?