PointerIntPair: Avoid an (academic) case of undefined behavior in the DenseMapInfo specialization.

If we use a pair with an enum type this could create values outside
of the enum range. Avoid it by creating the bit pattern directly.
While there turn a dynamic assert into a static one. No functionality
change.