unix, windows: rename uv_run2 to uv_run

This changes the prototype of uv_run() from:

  int uv_run(uv_loop_t* loop);

To:

  int uv_run(uv_loop_t* loop, uv_run_mode mode);

Where `mode` is UV_RUN_DEFAULT, UV_RUN_ONCE or UV_RUN_NOWAIT.

Fixes #683.
test: make threadpool tests valgrind-compliant

Delete the event loop after the test to stop valgrind from complaining
about memory leaks.
linux: use stdint types in structs

Use the typedefs from stdint.h to avoid build breakage on systems
where __u64 and friends are hidden when --std=c89 is in effect.

Fixes #685.
linux: add futimes() fallback

The utimensat() syscall was added in 2.6.22. Add a fallback mode for
older kernels that uses utimes("/proc/self/fd/<fd>").

Fixes #687.
doc: update gyp build instructions
linux: translate futimes() fallback error codes

The fallback added in 9d4a16e uses the /proc filesystem to emulate
utimensat().

Translate error codes that indicate no procfs is mounted to ENOSYS.
Letting those error codes through unchecked will only confuse callers.
win: Align uv_run code with unix
Added uv_stop, ability to stop a running event loop