[PATCH] qemu-clock: add an alarm timer based on timerfd

timerfd is a new(ish) mechanism provided in the 2.6.25+ Linux kernels that
allows for a high resolution event timer signaled through a file descriptor.
This patch adds an alarm timer implementation using timerfd.

timerfd has a couple advantages over dynticks.  Namely, it's fd based instead
of signal based which reduces the likelihood of receiving EINTR failure codes.

Because we can't process timers in a signal handler, we write to a pipe() and
read that in the main loop.  timerfd allows us to avoid the extra write to a
pipe.

Finally, since timerfd is just a file descriptor, it could conceivably used to
implement per-thread alarm timers.  It also would integrate very easily in a
glib main loop.

Unfortunately, there's a lot of Windows code in qemu-timer.c and main-loop.c
right now otherwise the refactoring would be trivial.  I'll leave that for
another day.