src: make queue.h c++ compatible

This is a cherry-pick of commit joyent/libuv@0520464.
src: add ASSERT/CHECK/UNREACHABLE macros
asyncwrap: add missing TryCatch

The TryCatch was not being checked after calling the unload asyncQueue
callback in AsyncWrap::MakeCallback.
uv: upgrade to v0.11.15
child_process: deliver ENOENT on nextTick

After the uv upgrade, uv_spawn will now fail faster for certain
failures like ENOENT. However, our tests and other people may be
depending on that error being passed to the callback instead of a
throw.