This patch addresses a number of code-maintenance issues and one
hard-to-spot bug that has been hiding in the responder code for a long
time.
The code has been changed so that we will now follow the tevent_req
style for requesting data from the Data Provider. We will attach
tevent_req objects to the DP request object and call tevent_req_[done|
error] on them once the processing is complete.
For those requests that don't need to wait for a reply (such as midpoint
cache refresh), the caller need only talloc_free() the returned
tevent_req. The cache update will still continue in the background, but
no notification of completion will be sent to this caller.
The major bug that this addresses was the present of two timeouts being
monitored for the same request: one was set in tevent directly by the
NSS responder and the other was created implicitly by the D-BUS
communication. Under some hard-to-reproduce situations, these could
interact negatively and result in one cancelling the other. It has now
been reduced down to using ONLY the D-BUS timeout.