Cleanup NativePostCallNop
NativePostCallNop and uses of it should be refactored for better separation of shared code from platform details.
- Shared code (e.g. `install_post_call_nop_displacement()`) assumes that a NativePostCallNop can encode 4 bytes of data: 1 byte for the oomap slot and 3 bytes for the offset of the NativePostCallNop in the CodeBlob. It should be left to the platforms how the data is encoded and how many bits are used for oopmap slot / cb offset.
- There is no difference in the implementations of `frame::get_oop_map()`. It should be moved to shared code.