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).

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

Notes:

- 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.

- stub_hypervisor_suspend is currently disabled. This code should
  probably be moved to Mini-OS.
Removed dietlibc

No longer needed.
Deleted old kernel
Removed unused header files
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
Fixes for compiling on ARM
Hacks for compiling on ARM
Hack to allow building under OPAM

OPAM doesn't preserve symlinks, so readlink doesn't work.
Hack: Replaced Xen checksum code with Unix version

The Xen version does unaligned double-word accesses, which fault on ARM.