First draft of the OCAMLLIB patch

Surely not good enough to inclusion, but at least there's something to discuss.

Need to fix:
- [ ] decide if we want to return a proper/prettier error in `Misc.expand_directory` when +name` cannot be resolved. This patch tries to keep the same behaviour as before.
- [ ] fix `asmrun/dynlink.c`
- [ ] fix `byterun/dynlink.c`
- [ ] fix `stdlib/caml/dynlink.c`
- [ ] fix `./ocamlbuild/ocamlbuild_where.ml`
- [ ] check that the debugger still works ok