ENH: Add Halo::Print() method
ENH: Support for creating DIY Halo types

Implemented support for creating DIY datatype to
represent the halo.
WIP: Add haloExchange example with DIY