Serial merger-tree
ENH: Lightweight object to store a single halo
ENH: Implement Halo::GetHashCode()
ENH: Implement DistributedHaloEvolutionTree

Initial implementation of a distributed tree-like
data-structure to store the halo evolution.
ENH: Merger-tree kernel implementation

Initial implementation of the merger-tree kernel
class which provides functionality for computing
the merger-trees given two sets of halos at different
timesteps.
ENH: Improved API of  DistributedHaloEvolutionTree

Added more API functions, stabs for writing out the
tree and storing the edge weights associated with
each tree.
ENH: Encapsulated merger-tree in a single function

Encapsulated merger-tree logic within a signle function.
ENH: Initialize/Finalize DIY

cosmotools will now initialize and finalize DIY when it
is initialized and finalized. All in situ algorithms/tools
can/should assume that DIY will be properly initialized.
ENH: Setup DIY decomposition when initialized

Added functionality to prescribe the given decomposition to DIY.
NOTE: The present implementation assumes a cartesian communicator
is given.
COMP: DIY deps are resolved at the top level

DIY is now used by the framework, and hence, it is
being resolved at the top level, just like MPI.
COMP: Resolve DIY at the top level
ENH: Initialize tess without DIY

Added another function in tess to initialize when
DIY is called from the calling application.
ENH: typedef compatibility with DIY

Added definitions that will map primitives to the
corresponding DIY primitive data-types according
to the way cosmotools is being compiled.
ENH: Add Halo::Print() method
ENH: Support for creating DIY Halo types

Implemented support for creating DIY datatype to
represent the halo.
ENH: Remove DIY_Datatype ivar

There is no need to hold DIY_Datatype ivars, memory management
of these ivars is handled by DIY internally.
ENH: Separate static and dynamic DIY datatypes

Split the DIY datatypes to two types. DIYHaloItem
and DIYHaloParticleItem. This is done to avoid the
issue with DIY not handling correctly variable size
data types.
ENH: Add static method Halo::GetHashCodeForHalo

Added static member Halo::GetHashCodeForHalo which
returns a hash code for a halo of the given tag (ID)
and timestep.
ENH: parallel halo-exchange example over DIY

Implemented parallel halo-exchange example code that
illustrates how to use DIY for the parallel communication.
ENH: Store Halo objects in HaloDataInformation

Modified HaloDataInformation s.t. it stores Halo objects.