ENH: Initial codestubs for MergerTree to GenericIO
ENH: Distinguish between POSIX and MPI GenericIO
ENH: Update default parameters
ENH: Add WriteTree to DistributedHaloEvolutionTree
ENH: Add MergerTreeFileFormat ivar to MergerTree
ENH: Use supplied I/O strategy for the mergertree

Allocate GenericIO writer on the heap and specify the flavor
of I/O prescribed by the user.
ENH: Avoid separate write for the CRC

Allocate extra space to store the CRC for each variable to avoid
a separate write for the CRC.
ENH: Implement ForwardHaloTracker::WriteMergerTree
ENH: Remove MergerTreeFileName ivar
ENH: Propagate mergertree filename from config
ENH: Change halotracker to write GenericIO output
BUGFIX: Missing call to GenericIO::setNumElems

Fixed issue wherein missing the call to GenericIO::setNumElems
was leading to writting just the headers out.
ENH: Support for the "unsigned char" in GenericIO
ENH: Dealing with "unsigned char" in GenericIO
ENH: Issue warning for SPLIT events
ENH: Define halo_link_t struct datatype
ENH: Store descendants in descending order

Stored descendants in descending order according to their mass.
The most massive halo is always returned as the Descendant ID of
the node.
ENH: Update GetTotalNumberOfBytes for Descendants

The descendants are now a list of halo_link_t objects instead
of ints. Therefore, GetTotalNumberOfBytes must take that in to
account.