Implement limiting of results

Added support for limiting the number of results from a query. this
is implemented by filtering the results ruturned from the Query on the db
I mean, I think we can avoid this call if the offset/limit would include all the results (which it will in the common case of calling find without the arguments).