linux: improve /proc/cpuinfo parser

Make uv_cpu_info() understand the ARM and MIPS versions of /proc/cpuinfo,
it only knew how to deal with the x86 version

This commit also fixes a buglet where uv_cpu_info() reported the maximum CPU
frequency instead of the actual CPU frequency. That is, before this commit
`out/Debug/run-tests platform_output | grep speed | sort | uniq -c` on my
system always reported:

      8   speed: 3400

Now it reports (for example):

      2   speed: 3400
      6   speed: 1600

In other words, two CPUs are running at full speed while the others have been
scaled back because they're mostly idle.

Fixes #526.
unix: report exit_status==-1 when execve() fails

Call exit_cb with exit_status==-1 when spawning a new process with uv_spawn()
fails.
windows: tweak formatting inside uv-win.h
include: update uv_timer doc comments
sunos: fix uv_cpu_info() on x86_64

kstat_data_lookup("clock_Mhz") returns a KSTAT_DATA_INT32 on i386 but a
KSTAT_DATA_INT64 on x86_64.
windows: small style fix in uv-win.h
windows: separate uv_tty_t read state from write state
windows: readable tty handles need access to console output

Readable tty handles need to be able to update the virtual window,
so if uv_tty_t is initialized with a console input fd, additionally
open the console output.
unix: move platform init out of loop.c

Move platform-specific initialization logic out of loop.c and into the
platform files (freebsd.c, sunos.c, etc).
unix: remove UV_REQ_BUFSML_SIZE
build: handle bad gcc -dumpversion output

`gcc -dumpversion` usually prints major.minor - but on sunos it prints
major.minor.patch.
unix: split up uv-unix.h
Revert "windows: readable tty handles need access to console output"

This is not the way to go.
This reverts commit 1b929bfff5be0c03826e3855cb5e1fd3d6421ac7.
windows: basic signal handling support with uv_signal_t

This still needs tests.
unix: fix the build

uv_signal_t.signum was moved to uv.h in an earlier commit.
unix: fix integer overflow in uv_hrtime

Conversion to nanoseconds was overflowing with 32-bit builds.
Merge branch 'v0.8'
unix: fix const correctness compiler warning

This is a back-port of commit f97c80f from the master branch.
test: add uv_fs_poll_t to benchmark-sizes.c
unix, windows: fix memory corruption in fs-poll.c

uv_fs_poll_t has an embedded uv_timer_t handle that got closed at a time when
the memory of the encapsulating handle might already have been deallocated.

Solve that by moving the poller's state into a structure that is allocated on
the heap and can be freed independently.