Compile stubs if lwt.tracing isn't available

Also, cleaned up the API.
Write events to a binary buffer

Before, we allocated a heap-value for each event, which made work for
the GC. Now, we pre-allocate a Bigarray and write the events to that in
a binary format (described in the "metadata" file, which can be used
with babeltrace to parse the logs).

Times are now 64-bit ints and record the monotonic timer rather than
using gettimeofday. At some point, we should use CPU counters here.
Thread IDs are now 64-bit, as OCaml ints might wrap on 32-bit systems.

TODO:
- trace header
- minios C stubs
Removed sexp from .merlin
Separate allocating the trace buffer from starting

This API makes things easier for mirage, but it might also be useful to
allow starting or resuming tracing more quickly in future.
Added packet header
Added MProf_unix.mmap_buffer

We now include the packet headers in the trace buffer, allowing the Unix
file to be scanned while the process is running (though currently only
while tracing is paused).
Added Xen support
Fixed initialisation of packets
Added sequence numbers for packets

Allows us to detect missed packets and work out the order when reading
from the ring buffer.
Moved thread ID to event context in metadata description

This is to make it clearer that this field has the same meaning across
all event types.
Always keep content_size up-to-date

This allows live tracing.
Renamed note_suspend to note_hiatus

The previous name was confusing as it covers blocking, suspending and
hibernating, as noted by Anil Madhavapeddy and Richard Mortier.
Removed out-of-date test script
Build with --enable-xen when mirage-xen-minios is available
Added missing OASIS file
Pass timestamp function as argument to Control.make

It's annoying that we can't call this C function directly, but it causes
linker problems by forcing anything that depends on mirage-profile to
depend on mirage-profile.xen or mirage-profile.unix, even when tracing
isn't being used. This often happens with e.g. their unit tests.
Added a README