Add preliminary offline update implementation

This code does not quite work yet. It needs a PackageKit patch
to implement pk-trigger-offline-update --cancel, and it needs
a gnome-session change to make the Reboot method return if
the reboot is canceled.