Some updates for the machine-code backends.

Conditional jumps now have their own offset limits. This has been promoted by ARMv8 where the range of conditional jumps is less than that of regular jumps.

The encoding size restriction for instructions with offsets is now more liberal. Before, encoding lengths could not vary with the size of the offset. Now the encoding lengths are required to be monotonic with respect to the magnitude of the offset. Although this opens up the possibility of using short jumps on x86, this hasn't been implemented.  However, the range of Loc instructions for ARMv6 has been increased: from 8 bits to 16 bits (via two instructions).

The length of Skip instruction encoding is now required to be equal to the code alignment value.