Switched to openlibm

Added missing complex.h include file from FreeBSD.
Updated to new Mini-OS

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

Removed dietlibc (want to avoid GPL dependencies).

Removed unused header files, since it wasn't clear where most of them
came from.

Moved libxencaml stubs into their own directory (previously, they were
included with the Mini-OS code).
Simplified sigcontext.h
Use simpler int64_t as type of off64
Create a thread for OCaml

Otherwise, it uses the tiny bootstrap stack (and schedule probably
doesn't work).
Hack: stubbed out libc functions

Enough to get Mirage's console test to build and link.
Writing to stdout prints to the console
Implemented exit()
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.
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.
Fixes for networking

This allows mirage-skeleton/network to handle TCP calls on x86_64 with
the new Mini-OS.
Hack: Replaced Xen checksum code with Unix version

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