Support using empty query to get all documents

It turned out that f3499c2de3247900ee1c660b8f0014f8ad9aeee7
allowed empty queries to return all documents by a piece of
luck rather than judgement.

This commit also fixes -find to return `nil` if it's passed
a `nil` selector.

Fixes #15