Merge #282 282: Overhaul RawSyscalls to work with ARM, -Zmiri-track-raw-pointers, the revised Yield, and Exit. r=alistair23 a=jrvanwhy 1. RawSyscalls now supports Yield's new return value semantics as well as the `yield-no-wait` variant of Yield. 2. RawSyscalls now supports Exit. 3. RawSyscalls is now usable in Miri with the `-Zmiri-track-raw-pointers` flag. 4. RawSyscalls can now be implemented on ARM: previously, `class` was a runtime value, but it needs to be an immediate value on ARM. 5. The explanation for the design of RawSyscalls was completely overhauled. Instead of listing a bunch of "design considerations" with no connection to the final design, it shows how testing and efficiency considerations lead to its design. I hope the new description is more amenable to discussion. The new design should be a bit more future-proof than the previous design as well. The new features added have been stabilized, and can be removed after https://github.com/tock/libtock-rs/pull/280 is merged. Co-authored-by: Johnathan Van Why <jrvanwhy@google.com>