Better error message for missing tools

If the query planner tries to use a tool which doesn't exist, indicate
what went wrong.  Suggest that the user install the tool.

That doesn't work in some cases (since Linux users can't install mdfind,
for example).  I expect that this error will typically happen when the
user has configured his system to use some tool but that tool is
missing.
Ignore ndl binary
Use find command where mdfind unavailable

mdfind only exists on OS X.  If running on another OS, use find which
should exist on all Unix-like OSes.
Adjust xargs fanout to match CPU count

My desktop has 8 cores so I had xargs create up to 8 processes.
However, my laptop only has 4 cores.  In tests, it doesn't help to have
more grep processes than cores.

We certainly don't want to 8 hard coded.