Return [], not nil, when no records are found.

I expected:

* `Model.find(:first, params: {...})` to return `nil` if nothing matched the specified params
* `Model.find(:all, params: {...})` to return `[]` if nothing matched the specified params

... which seems in line with ActiveRecord behaviour. At the moment, `find_every` returns nil if there are no matches, so we get a `NoMethodError` in the `:first` case.

This PR changes `find_every` to match what I was expecting.

There was a confusing comment in `find_every` about ActiveRecord returning nil when no records are found, which isn't the case...