Shards should be checking the limit on the query and stop returning data as soon as the limit is hit

See #364 for more context