Updated to new Mini-OS

We now get it via ocamlfind rather than bundling a copy.

We no longer use dietlibc (we want to avoid GPL dependencies), but it
will be removed in a later commit to make this diff more readable.

Moved libxencaml stubs into their own directory (previously, they were
included with the Mini-OS code).

Note that stub_hypervisor_suspend is currently disabled. This code
should probably be moved to Mini-OS.
Deleted old kernel
Removed unused header files

It wasn't clear where most of them came from anyway.
Override start_kernel

This allows us to skip initialisation of Mini-OS's support for
threads and XenBus, which we don't need.
Updated block_domain for new Mini-OS

Sleeping works differently on ARM, but luckily Mini-OS provides a
block_domain function for us.

Note: select_next's doc comment says it returns "the earliest time
when one sleeping thread will wake up", yet the implementation appeared
to be returning an interval. I changed the implementation to match the
spec, as that seemed saner. This does mean that the time_fun argument
is now unused.
Added minimal POSIX API

Just enough to let us compile and run the OCaml runtime. Writing to
stdout or stderr outputs the string with printk, which is useful
for debugging.
Use musl's float-formatting code to handle %f in sprintf
Removed dietlibc

No longer needed.