ByteVec: bytevec_utf8_ref intrinsic for UTF-8 character decoding.

This speeds up s[i] significantly, but reveals that endof(s) is a
pretty significant bottleneck as it is.
ByteVec: fast endof(s::Str) using clever bit tricks and getu32.
ByteVec: rewrite bytevec_ref32 to only require non-vector code.
ByteVec: make bytevec_ref also use only normal integer instructions.
ByteVec: fix inverted bounds check elimination condition.