etc: rework of how libuv is integrated into the build

- thanks to work in libuv's upstream, we can call libuv's Makefile directly
with parameters, instead of descending in gyp-uv madness and generating
our own.
rt/std: update of libuv API glue for libuv submodule update
build: tweak rt.mk, as per graydon.. CFLAGS had to stay
build: point libuv at olsonjeffery/libuv, temporarily
build: ifdef for mingw/non-mingw builds
std: strip sillyness from debug comment in iotask teardown
build: change libuv to point at joyent's repo and make unpatched build libuv work on mingw
build: add link flag for freebsd libuv build
std: fix libuv structs on macos
Merge pull request #4873 from jld/rust-mode-wants-cl-when

rust-mode.el uses the 'cl macros, so it should actually require them
Align newtype enums correctly. This also lets them be used in consts.