This change fixes issue 3567:
* Persistent searches are now registered in the following two places:
o the client connection associated with the search (i.e. as
before)
o per-WFE lists: it is now the responsibility of the WFE to
maintain this list.
* The PersistentSearch API has changed:
o it no longer depends on Operations for update notifications.
This means that the notifications can be sent from "out of
band" event sources, such as remote persistent searches
issued from a proxy WFE
o it now supports a cancel() method which should *always* be
used to cancel a persistent search. This method takes care
of all resource cleanup: deregistering from the client
connection and any WFE related resources
o in now provides a mechanism for registering callbacks which
should be invoked when the psearch is cancelled. This should
be used by WFE implementations that need to keep track of
the psearches that they are handling.