__pmBoundaryOptions(): Handle multiple archives in a single context.
__pmBoundaryOptions(): Handle multiple archives in a single context.

Similar to how the code for multiple archives with multiple contexts
checks the timespan of each archive, do the same for a single context
with multiple archives. We check for overlapping time spans and
sort the archives into chronological order as we go, since this is
how we will want them when transitioning among them serially.

Some code has been refactored, for reuse, into new internal functions
__pmLogInitialState() and __pmLogChangeArchive(). The latter is similar
to __pmLogChangeVol(), but is used to switch to a different archive.

wuliming/pcp,adfernandes/pcp,adfernandes/pcp,wuliming/pcp,adfernandes/pcp,adfernandes/pcp,adfernandes/pcp,wuliming/pcp,wuliming/pcp,wuliming/pcp,wuliming/pcp,wuliming/pcp,adfernandes/pcp,adfernandes/pcp,adfernandes/pcp,wuliming/pcp