Implement chained task finders

So you can do things like 'Task.for_entity(…).for_roles(…).
by_nickname(…) and so on.
Implement waiting for next available matching task

Should be helpful in testing, since #wait_for on the Ruote dashboard
doesn't wait for the workitem to be in storage.  Chain after Task
finders.  Also useful if you want to block in UI until specific tasks
are available, though this is not recommended since there's no guarantee
of dispatch promptness for tasks.