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.