Fix 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.

With this change, mirage requires libminios-xen >= 0.4.2 (https://github.com/mirage/mirage-xen-minios/pull/8).