getTypeHash

Return a perfect hash for this type. This number corresponds
uniquely to a particular type, and is used to improve
performance of certain operations in the TypeLattice class.
All instances of a particular type (e.g. integer array) must
return the same number. Types that return HASH_INVALID will
not have results in TypeLattice cached. Note that it is safer
to return HASH_INVALID, than to return a number that is not
unique, or different number for the same type from different
instances. This base class returns HASH_INVALID.