xen: fixed link order in generated Makefile

libm has to come last because other libraries might depend on maths
functions, not just main.o. Moved libocaml and libxencaml to the end
for the same reason (they certainly won't depend on any of the
project-specific C libraries).

This uncovered some "multiple definition" errors because mirage-xen
overrides the functions in bigarray and shared_memory_ring_stubs, but
was also listing them as libraries. These libraries are now removed
from the linker command.
When net_tap driver can't initialize, emit human error

Introduces mirage.runtime library and corresponding Mirage_runtime module.
Fixes #164.
oasis regen
{Udp,Tcp}_direct: fix generated code
Merge branch 'link-order' of git://github.com/talex5/mirage

Conflicts:
	CHANGES
bump working version to 2.0.2
IP: unify IPV4 and IPV6 around a single signature

Conflicts:
	types/V1.mli
UDP, TCP: Specialize over LWT/IPV{4,6}
Add CONFIGURABLE for IPV6

We use a phantom type variable to allow for polymorphism over IPV4/6.
Make UDP, TCP impl function of the IP impl
Make CHANNEL impl a function of the TCP impl
Revert the changes to STACKV4

Conflicts:
	lib/mirage.ml
Add `input_arpv4` to IPV4 signature
Make Lwt.tracing instructions work for Fish shell too
IP: add missing type constraint
Add a specific MacOS X platform

This lets us add MacOS X-specific libraries for the platform where
it diverges from stock Unix.  The first such use is in the networking
layer, where MacOS X provides the `vmnet` framework.

This patch defaults the `mirage CLI` to use the `MacOSX` mode on
that platform, and adds a `--no-macosx` override to force use of
the Unix mode (for advanced users).

The end-user capability added by this patch is that userlevel bridged
networking is possible using `vmnet`, and does not require any
third-party kernel modules to be installed either.

Requires ocaml/opam-repository#3135 to have the new packages
Bump to 2.0.2
improve the Mirage_runtime ocamldoc
Merge branch 'master' of github.com:mirage/mirage into tap-human-error

Conflicts:
	CHANGES
	lib/META
	setup.ml
Remove debug output from the main library; spotted by @samoht