Make isequal, == and hash respect isnull attribute

@StefanKarpinski: I added these to make sure that `isequal`, `==` and `hash` never attempt to access an uninitialized value.