this patch set is based on Jakub's original code. The goal was to reduce
code duplication among responders - the part that iterates over domains
and performs a cache lookup and data provider communication if object is
The first three patches are preparation for unit tests to allow testing
with multi domain environment. The forth patch is the new interface. The
fifth patch enables views with this interface - I made it a separate
commit so the changes can be more easily spotted.
And finally the last patch make IFP to use this new interface. Only IFP
uses it at the moment so we can find potential bugs without hitting NSS
and other responders.