Get Xen linker options from ocamlfind xen_linkopts variables

Before, we used the normal linker flags, but we want to share compiled
OCaml libraries between Unix and Xen while having separate C stubs.
Accidentally linking in Unix C stubs on Xen is bad on x86_64 because
Unix stubs normally assume the red zone is available. ocamlopt currently
misses this optimisation and therefore OCaml code can be shared. We
might want to revisit this design once OPAM supports cross-compiling.
Annotate variable Mirage.mode with explicit type
Merge pull request #335 from nojb/annotate-mode-type

Annotate variable Mirage.mode with explicit type
Get linker flags from mirage-xen
Bump revision to 2.1.0, since the addition of a MacOS X interface
can cause pattern matching failures in config.ml files
Remove `--no-macosx` and add a `--target` enum

This accepts `macosx`,`unix`, or `xen`, and the old `--xen` and
`--unix` will continue to work.  Also improve the docstrings to
cmdliner to explain the new behaviour better.
Merge pull request #336 from avsm/2.1-bump

Bump to 2.1.0 and add `--target` instead of `--no-macosx`
Merge branch 'xen_linkopts' of git://github.com/talex5/mirage into talex5-xen_linkopts
bump to version 2.1.1
sync CHANGES
Only activate MacOS X compilation by default on 10.10 (Yosemite) or higher.

Older revisions of MacOS X will use the generic Unix mode by default, since
the `vmnet` framework requires Yosemite or higher.

Reported by: Brian Brietzke <bbrietzke@gmail.com>
Merge pull request #337 from avsm/mirage-autodetect-osx

Only activate MacOS X compilation by default on 10.10 (Yosemite)
Do not run crunched filesystem modules through `camlp4`

This speeds up compilation on ARM platforms (from minutes to seconds!)

Closes #299
Merge pull request #338 from avsm/no-camlp4-for-crunh

Do not run crunched filesystem modules through `camlp4`
release 2.1.1
Merge branch 'master' of https://github.com/mirage/mirage into merge

Conflicts:
	lib/mirage.ml