[WIP] Rewrite `mch_call_shell` on top of libuv

Not ready yet. Sending a PR so those interested can follow the changes