If qemu dies at startup, kill its memory image decompressor

libvirtd is supposed to be doing this, but on qemu >= 1.3 it freezes
instead:

    https://bugzilla.redhat.com/show_bug.cgi?id=982816

Fixes #45.
_QemuWatchdog: Ignore processes not owned by the current user
ui: Add status icon indicating whether session is local or remote
ui: Fix flash of gray background when connecting SPICE viewer
Ensure we don't show multiple rejected-memory warning icons

if the server sends multiple rejection events.
Properly handle startup from other than Controller.STATE_STOPPED

RemoteController can initialize() to states other than STATE_STOPPED,
depending on the state of the remote VM.  Rather than having the UI
unconditionally launch the VM during startup, require
Controller.initialize() to emit the appropriate signal to initialize
the UI state machine.
Ignore stale SpiceClientGtk signals
Try to reconnect viewer after connection failure
Recover from qemu black screen crashes under RemoteController
Make have_memory flag private to LocalController
ui: Allow connecting a connected viewer

May occur due to races.
Always fail Controller.connect_viewer() through callback

The _ensure_state decorator was raising an exception directly.
Stop logging viewer connection failures

These are now expected due to the backoff/retry process.
Ignore another stale SpiceClientGtk signal
LocalController: Remember to update state after cancelled startup
Regenerate machine UUID before execution

Attempting to run multiple instances of the same VM would produce a UUID
conflict in libvirt.
Ping server from client every 10 seconds; time out conn after 30

We can't easily ping the client from the server due to races with
attach-viewer.
RemoteController: Use state machine instead of rebinding handlers

Replace the three sets of handlers (with somewhat-overlapping
functionality) with a state variable and a single set of handlers.
RemoteController: Formalize state machine a bit
Abstract out backoff timer handling