ENH: HaloType bitmask to encode different types

HaloType is a singleton class that allows encoding type(s)
corresponding to a halo. For example, a halo could be designated
as a ZOMBIE, a GHOST or both.
ENH: Use HaloType as a bitmask instead of as int