Adhere to the naming conventions in uv_timer_* functions.

In the src/*/timer.c code the first argument is called handle, not timer.
We should be consistent in the interface definition file.
Return the errorcode provided by uv_set_artificial_error.

This reduces the line count.
unix, windows: make uv_now() return uint64_t

Using int64_t doesn't make sense here because the return value is never
negative.
unix, windows: change timer intervals to uint64_t
unix, windows: make uv_timer_get_repeat() const correct
doc: document _LARGEFILE_SOURCE + _FILE_OFFSET_BITS
build: fix shared-after-static build

Executing `make libuv.so` after `make libuv.a` failed because the
libuv.a target compiled the files in src/ without -fPIC.

Make the libuv.so target depend on files with a different suffix to
keep them separated.
linux: fix abort() on epoll_ctl() race condition

Don't check the return value of epoll_ctl(EPOLL_CTL_DEL). When the
file descriptor is closed, we're potentially racing with another
thread and that means the errno is not a reliable indicator of
the actual error.

The other event mechanisms (kqueue, event ports) are not affected
because:

* kqueue returns either EBADF or ENOENT. Both are handled by libuv.
* event ports rearms all file descriptors on each call to port_getn().

Fixes joyent/node#4558.
unix: fail early on bad send_handle in uv_write2

Return UV_EBADF if send_handle doesn't have a valid fd.
unix: reduce line count, return uv__set_sys_error
unix: use uv__set_artificial_error in uv_write2

* Use uv__set_artificial_error(), slightly more efficient than
  uv__set_sys_error().

* Return UV_EINVAL instead of UV_EOPNOTSUPP.

* Fix up style.
unix: handle EINPROGRESS for unix sockets

Before this commit, it was assumed that connect() on UNIX sockets never
returns EINPROGRESS. It turned out to be a bad assumption: Dave Pacheco
reports sporadic hangups on SmartOS because of that.

It's not clear to me _why_ the Illumos kernel returns that error but
that's inconsequential: whatever the cause, libuv needs to handle it
and now it does.

Fixes joyent/node#4785.
unix: auto-unref spawn handle on process exit

Consistent, for better or worse, with uv-win.

Fixes #718.
unix: short-circuit on no-op io watcher changes

Don't add the io watcher to the watcher queue if the requested change
is effectively a no-op, that is, when the event mask doesn't change.

The exception here is sunos because the event ports backend requires
that watched file descriptors are re-added on every turn of the event
loop.

This commit is a micro-optimization, it does not change the event
loop's observable behavior in any way.
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%.