windows: make uv_spawn not fail under job control

* Fix a potential issue introduced with 415f4d3, namely that uv_spawn
  can fail when the current process is under job control. This would
  happen on Windows versions that don't support nested jobs (versions
  prior to Windows 8 / Server 2012).

* Change the `uv__init_global_job_handle` function signature to match
  what `uv_once` expects.

* Add a bunch of comments that clarify how we're using job control,
  and how we're dealing with job control that might be established by
  our parent process.
darwin: assume CFRunLoopStop() isn't thread-safe

Use signaling mechanism for loop termination, because CFRunLoopStop() is
most likely not a thread-safe function and invoking it from other thread
may sometimes result in a "dead-lock".

fix #799
win: fix UV_EALREADY incorrectly set

UV_EALREADY itself is already a libuv error, it should be set with
uv__set_artifical_error and not with uv__set_sys_error.

Closes #802
Merge branch 'v0.10'

Conflicts:
	src/unix/darwin.c