fs-event: fix invalid memory access

file_info->FileName is not null terminated.
windows/timer: fix uv_hrtime discontinuity

Large performance counter frequency values would cause overflows, even
when 64-bit integers were used to do the multiplication with NANOSEC.
Fix this by using floating point math instead.

Fixes #850
Merge branch 'v0.10'
doc: add guidelines for contributing
doc: fixed typo in readme

The link to nodejs.org in README.md was broken.
doc: document how to run tests
unix: fix various memory leaks and undef behavior

Kindly suggested by `cppcheck`.
build: add support for pkg-config
build: hide dtrace rules unless needed

When using configure, there are situations where libuv will attempt
to build uv-dtrace.h, even if it is configured with --disable-dtrace.
For example, if libuv is first configured with dtrace enabled, then
built, the .deps files will contain references to include/uv-dtrace.h.
After a make clean and configure --disable-dtrace, the build will still
attempt to create include/uv-dtrace.h and fail. make will see the
dependency reference (which survives the make clean), use the rule
(which is always added to the Makefile), and fail since DTRACE is not
defined.

This commit protects the rules to make uv-dtrace.h with the proper
conditionals to ensure the rules are not written if --disable-dtrace
is chosen.

Fix #963.
build: check if pkg-config is installed

Also, don't check for a specific pkg-config version, since libuv doesn't
use pkg-config itself
unix, windows: always update loop time

Fixes #846
2013.12.13, Version 0.10.20 (Stable)

Changes since version 0.10.19:

* linux: fix up SO_REUSEPORT back-port (Ben Noordhuis)

* fs-event: fix invalid memory access (huxingyi)
Now working on v0.10.21
windows: translate system errors in uv_spawn

We weren't always translating system errors for in uv_spawn.

This is half a fix for node's unit test
 test-child-process-cwd.js on win.
 The rest will go into node lib.
 It also fixes test-child-process-exec-error
windows: uv_spawn code refactor
Merge remote-tracking branch 'origin/v0.10'

Conflicts:
	.mailmap
	ChangeLog
	src/version.c
unix, windows: detect errors in uv_ip4/6_addr
stream: introduce uv_try_write(...)

`uv_try_write(stream, buf, size)` acts like `uv_write()`,
but without queueing actual write until UV_POLLOUT (or IOCP completion).
This is useful for doing writes using on-stack `uv_write_t` requests.

fix #1025
2013.12.14, Version 0.11.16 (Unstable)

Changes since version 0.11.15:

* fsevents: remove kFSEventStreamCreateFlagNoDefer polyfill (ci-innoq)

* libuv: add more getaddrinfo errors (Steven Kabbes)

* unix: fix accept() EMFILE error handling (Ben Noordhuis)

* linux: fix up SO_REUSEPORT back-port (Ben Noordhuis)

* fsevents: fix subfolder check (Fedor Indutny)

* fsevents: fix invalid memory access (huxingyi)

* windows/timer: fix uv_hrtime discontinuity (Bert Belder)

* unix: fix various memory leaks and undef behavior (Fedor Indutny)

* unix, windows: always update loop time (Saúl Ibarra Corretgé)

* windows: translate system errors in uv_spawn (Alexis Campailla)

* windows: uv_spawn code refactor (Alexis Campailla)

* unix, windows: detect errors in uv_ip4/6_addr (Yorkie)

* stream: introduce uv_try_write(...) (Fedor Indutny)
Now working on v0.11.17