[shmem6] refactor ZoneDataLoader so it internally does incremental load.

this is a first step of incremental loading.
[shmem6] refactor: extract file-based loader impl class into a subclass.
[shmem6] refactor: extract skip-load (same serial) case to separate subclass.
[shmem6] refactor: extracted journal-based loader into a separate subclass.
[shmem6] refactor: extracted iterator-based loader into a separate subclass.
[shmem6] cleanup: removed now-unused stuff.
[shmem6] refactor: make zone data holder a class member.

also, extract its initialization code into a separate method.
[shmem6] cleanup: removed a now-unused method argument.
[shmem6] refactor: made update helper a loader member.

also renamed ZoneDataLoaderHelper to ZoneDataUpdaterHelper, as that's more
appropriate (it's a wrapper for ZoneDataUpdater), and diff-based loader is
actually updating a zone, rather than fully loading it.
[shmem6] refactor: extract post-load/update stuff into a separate method.
[shmem6] refactor: move call to finishUpdate() outside of doLoadCommon().
[shmem6] refactor: make 'installer' functors virtual methods in subclasses

this will make the code more readable by avoiding indirection of functors.
[shmem6] refactor: call updateFromLoad directly when possible.

this will make it more readable by reducing the indirection of functor.
also, moved construction of MasterLoader from updateRRsets to initUpdate
(which has been actually part of initialization, but had been deferred until
the actual load time due to internal restriction.  thanks to the set of
refactoring we don't have such restriction anymore).
[shmem6] cleanup: moved initial logging to ZoneDataLoaderImpl subclasses.

this will help simplify the ZoneDataLoader constructor and make it more
readable.
[shmem6] some editorial cleanups
[shmem6] introduced ZoneDataLoader::isDataReused and trivial adjusts with it.

as a result, the return type of load() can just be ZoneData* (again).  The
separation will be useful when we introduce incremental loading.
[shmem6] support incremental loading in ZoneDataLoader.
[shmem6] correctly handle the case of getJournalReader results in NULL.

also added a test case, and another, unrelated test related to incremental
loading.
[shmem6] added some more comments on ZoneDataLoader implementation.
[shmem6] fixed minor compile errors in ZoneDataLoader due to refactoring