Generalise the type of fieldSz and use it more
Remove some __HADDOCK__ CPP

I think these are all redundant, now that haddock uses the GHC API
Use the standard state monad transformer in GHCi
Remove CPP in ByteCodeItbls

I tried making mkJumpToAddr return [Word32] on all platforms,
but it went wrong on x86 (possibly due to alignment?). Rather than
chasing the bug, I've just used an Either type for now.
Fix segfaults on SELinux machines; fixes #7629

Patch from wgmitchener.

From the ticket:
The two addresses (adjustorStub and code) contain the same memory
(double-mapped), but one is writable while the other is executable.
This is how libffi works around the SELinux restrictions. On
non-SELinux systems the code and data addresses are probably the same.