COMP: Fix excess elements in map_block_t array
ENH: Major redesign of MergerTree algorithm

This commit effectively re-implements the merger-tree algorithm to
enable more advanced event detection logic and optimized procesing
of the similarity matrix. Key changes are:

(1) Separate similarity matrix computation from event logic

  * ComputeMergerTree() only computes the similarity matrix
  * UpdateHaloEvolutionTree detects events and updates the
    merger-tree

(2) MergerTree nodes are stored as HaloInformation objects

(3) MergerTree events are encoded with a bitmask to allow for
    multi-events, e.g., a REBIRTH and a SPLIT to occur.

(4) More advanced/accurate event detection logic