Refactor Finder to allow custom queries & filters

The #add_query and #add_filter public methods on a Finder instance will
allow for adding custom blocks, basically working as #select blocks on
raw workitems and instantiated tasks, respectively, as the iterator
runs.
Minor spec file refactoring
Deprecate custom queries on Finder initialization

It is now more expressive and no less efficient to use #add_query to add
custom queries, instead of only being able to do it on initialization
with an array of Procs.