[jit] Handle second order aliases. Based on patch by Vlad Brezae.

In some cases, usually when dealing with IntPtr <> void* conversions, 2nd order aliases arises.

To handle them, first we consider the lowered load/stores for alias information, second
we iterate over handle globals/dce while aliases can still be eliminated.
[jit] Use alias information to eliminate explicit null checks. Fixes #21645.