[lld-macho] Add LOH_ARM64_ADRP_LDR_GOT_LDR optimization hint support
This hint relaxes a load from an address specified in the GOT. If the
symbol is external and the GOT is within a +/- 1 MiB range, the adrp +
add used for loading the GOT is turned into adr + nop. If the symbol is
local, the adrp + add + ldr sequence is turned into a literal ldr or
adr(p) + ldr if possible.
This type accounts for more than half of all LOHs in chromium_framework.
This commit moves the eligibility checks into helper functions to
improve the readability of the LOH processing code. Ho functional
changes are intended to the previously implemented LOH types.
MathExtras.h has isInt -- I think we could just call that inline (i.e. don't need this function)