RFC: Add native output obj support

It would be useful to have support for `-output-obj`, which links the OCaml code into a standalone object file, but doesn't turn it into a binary.  For example, the Mirage Xen backend does a custom link on the `.o` file into `.xen` microkernel.

This pull request proposes the use of `.nobj.o` as an extension for native object files (they have to end in `.o`).  If you like this approach, I can also add a `.bobj.o` for bytecode object files and update this branch.

(this is a blocker for using OASIS with Mirage, so I'm happy to quickly do whatever is needed in order to have an OASIS release that we can officially use)