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
When skip is passed the end of the results array, an empty array should be returned. in the event limit is past the end of array the sub array should contain all results after results skipped.