test: add tap output

Given UV_TAP_OUTPUT being set, test result output should use TAP formatting
build: support 64 bits darwin builds

Before this commit, gyp built 32 bits versions of libuv exclusively.

Enable with:

  $ ./gyp_uv -Dtarget_arch=x64
darwin: implement uv_set_process_title, part 1

Apply undocumented Carbon magic to change the process title in a way
that's visible in the Activity Monitor.
darwin: implement uv_set_process_title, part 2

Make changes to the process title visible to tools like `ps`.

The argv clobber technique is reasonably portable across Unices;
the common code has been moved into src/unix/proctitle.c and is used
on Linux and OS X. Other platforms will probably follow in the future.
unix: abstract away async pipe infrastructure

This commit lays the groundwork for the switch to eventfds on Linux.
linux: use eventfds for async handles

Use eventfds to drive async handles, fall back to regular pipes on older
kernels (pre-2.6.22).

Gives a nice boost on the async handle benchmarks. Before:

  12,516,113 async events in 5.0 seconds (2,503,222/s, 1,048,576 unique
  async1: 11.95 sec (83,701/sec)
  async2: 11.65 sec (85,862/sec)
  async4: 5.20 sec (192,154/sec)
  async8: 9.97 sec (100,315/sec)
  async_pummel_1: 1,000,000 callbacks in 2.56 seconds (389,919/sec)
  async_pummel_2: 1,000,000 callbacks in 2.65 seconds (377,205/sec)
  async_pummel_4: 1,000,000 callbacks in 2.18 seconds (457,704/sec)
  async_pummel_8: 1,000,000 callbacks in 4.19 seconds (238,632/sec)

After:

  16,168,081 async events in 5.0 seconds (3,233,616/s, 1,048,576 unique
  async1: 11.08 sec (90,213/sec)
  async2: 10.17 sec (98,297/sec)
  async4: 4.81 sec (207,789/sec)
  async8: 8.98 sec (111,419/sec)
  async_pummel_1: 1,000,000 callbacks in 1.16 seconds (863,296/sec)
  async_pummel_2: 1,000,000 callbacks in 1.45 seconds (691,459/sec)
  async_pummel_4: 1,000,000 callbacks in 0.66 seconds (1,514,770/sec)
  async_pummel_8: 1,000,000 callbacks in 1.42 seconds (704,549/sec)

That's a speedup from anywhere between 10% to 330%.
unix: set errno in sendfile emulation

The sendfile emulation in src/unix/fs.c polls the file descriptor for
write readiness. If POLLERR or POLLHUP is set, it bails out but doesn't
set errno (hence it doesn't report a useful error code). Rectify that.

Fixes #620.
build: turn on strict aliasing in release builds
build: fix misleading vcbuild.bat error message
windows: align uv_run code with unix
unix, windows: add uv_stop, stop running event loop
unix: make uv_stop work when embedded

* Make uv_stop() work when libuv is embedded in another event loop.

* Fix a small bug where loop->stop_flag was not reset when mode ==
  UV_RUN_ONCE or UV_RUN_NOWAIT. The next call to uv_run() would return
  immediately without doing any work.
windows: fix uv_stop in ONCE and NOWAIT modes

Same as the fix in 492efb9 but this time for uv-win.
test: don't rewind_cursor when using tap_output
Merge remote-tracking branch 'upstream/master'