[RFC/RDY] Rewrite `mch_call_shell` on top of libuv

There are still some improvements that can be done to this functions but those should probably go on another PR.

@philix / @stefan991 are there any problems with this branch on OSX?  Hoping this can be merged soon so I can start working on co-processes/plugins