Allow mirage to plug on real network interfaces
[xen] switch to using the bigarray's C finaliser to free() page-aligned buffers

Using an ocaml finaliser on the bigarray value doesn't work because
sub-bigarrays are distinct ocaml values which share the underlying data.
When the parent ocaml value is finalised the child bigarray may still
be in scope somewhere and the data accidentally scared.

Now we directly call memalign() which calls _xmalloc() which calls
alloc_pages() to allocate individual blocks and rely on the fact that
sub-bigarrays all share a common "proxy" object and the underlying data
is not free()d until the refcount within the proxy drops to zero i.e.
all related bigarrays are unreachable. This replaces the (broken) ocaml-level
freelist implementation with a (hopefully working) C-level one.

If we run out of memory and memalign() fails, we return None and allow
the ocaml world to run a Gc.compact() which might call enough finalizers
to allow the request to be satisfied.
Merge pull request #6 from djs55/fix-bigarray

[xen] switch to using the bigarray's C finaliser to free() page-aligned ...
note fix for #6
note the #5 xenstore change and add a TODO for unix
implement appropriate functions on linux unix backend
Merge branch 'master' of https://github.com/mirage/mirage-platform
add mir-run script back into the platform, not hooked into build yet
hook in the mir-run installation script to `make install`
first addition of ns3 backend
first compiling commit of the ns3 backend
forgot to add the optional parameter for the create function.
adding the dev param for the create method
remove the vim swapfiles
delete unused blkif
fix configure script to look for a few more locations for the NS3 stubs
Adding a file to fix the problem with the ns3 compilation on macosx
Merge pull request #1 from crotsos/ns3

Adding a file to fix the problem with the ns3 compilation on macosx
remove unused variable in ocamlbuild
remove unused myocamlbuild test file