Exit indexing early upon context termination

Also clean up some error handling and related logging messages to remove
some messy lines of code.
Fixes to the afind command-line tool

Allow recursive queries to be made to afindd instances, so that setting
-D host=host123 on an "afind index" call will send a recursive query to
the afindd server. afindd will then proxy that request to "host123", in
this case, returning the final result to the client and updating its
local repo store with the information received. There is no automated
expiry of such Repo metadata, so clients will need to delete the
repository from their server if they want to flush the cache.
Unrelated changes related to the prior changelists

The previous two changelists use this infrastructure.