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.

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
set PKG_CONFIG_PATH to the local opam prefix (to find libminios)
and also remove detection of OCaml 4.00.1 from the config script
Remove support for the 4.00.1 runtime, and only support 4.01.0

There are a growing number of 4.01.0-only libraries, and packaging
on most distributions has improved now such that it's reasonable
to require 4.01.0 only.  We also need to prepare for 4.02.0 soon,
and there's no way we can support three concurrent versions of the
compiler.
Support compiling on ARM
Merge pull request #93 from talex5/new-minios

[RFC] Upgrade to new (separate) kernel and libm, and drop dietlibc