windows: map WSAESHUTDOWN to UV_EPIPE

This is a back-port of commit 483043b from the master branch.
linux: use /proc/cpuinfo for CPU frequency

Obtain the CPU frequency from /proc/cpuinfo because there may not be any
cpufreq info available in /sys. This also means that the reported CPU speed
from now on is the *maximum* speed, not the *actual* speed the CPU runs at.

This change only applies to x86 because ARM and MIPS don't report that
information in /proc/cpuinfo.

Fixes #588.

This is a back-port of commit 775064a from the master branch.
sunos: fix uv_getaddrinfo() NULL pointer dereference
windows: add some error code mappings
windows: improve / fix uv_interface_addresses

* If GetAdaptersAddresses() failed, it would return UV_OK nonetheless,
  but the `adresses` and `count` out parameters would not be set.

* When adapters were enabled or added in between the two
  GetAdaptersAddresses() calls, it would fail.

* In case of an out of memory situation, libuv would crash with a fatal
  error.

* All interface information is now stored in a single heap-allocated
  area.
sunos: properly disarm PORT_LOADED fsevent watcher

Fixes a segmentation fault when the watched entity is changed after the watcher
has been closed.