Also somewhat cleans up mp.command_native_async() error handling.
This supports named arguments. It benefits from the infrastructure of async commands. The plan is to reimplement Lua's utils.subprocess() on top of it.