core: Add new weak task API
core: Convert getenv/setenv to use a mutex

This much simpler implementation uses a global mutex
and eliminates the kernel environment channel.
std: Convert uv_global_loop to use pipes
core: Remove private::chan_from_global_ptr. #3915
Remove old comm-based weak task interface
core: Stop using oldcomm
wip