This patch addresses the following:
- Adds a number of addition hypercall that are needed for MicroV
- Updates the code to support the changes made to the BSL including
better checking of safe integrals and narrow contracts
- Adds a lib folder to contain code shared between the kernel and
extensions where possible.
- Minor initial additions for Rust. Still lots of work to do here