Improve modification feeding, reduce bug proneness

We are now batching all modifications for a content database instead of
only for each page within. This combined with using a Set reduces the
number of duplicate entries sent and puts us in a better position to
make use of the data provided in the update notification since we know
it is the most recent of all the changes listed. Both of these are
extremely important when we add local group feeding support.

There are also slight tweaks that can make a big impact on preventing
bugs. Namely, we no longer throw IOException from getModifiedDocIds()
and we use the appropriate SiteAdaptor in the various depths of looking
at the modifications. The former is very important when using helper
methods because they can use things like siteUrl, which would previously
provide the wrong site URL.
2 files changed