Distributed Expand and Merge

Baseline running (but incorrectly) for splitting the expansion of fringes and then
the checking of duplicates while merging.  Most of the changes support the distributed
merging of partial fringe expansions.  Using heaps as priority queues in several places
where dealing with multiple partial expansions, etc.