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.
unix, windows: make uv_*_bind() error codes consistent

Just like uv_tcp_connect() it should return an EINVAL when the handle
is of an invalid type or when the network address is faulty.