properties: Add snapshots page

This will later be used to show the snapshots of a VM.

https://bugzilla.gnome.org/show_bug.cgi?id=710306
libvirt-machine: Delete snapshots with machine

libvirt does not allow to delete/undefine domains that have snapshot
metadata attached. Sine creating snapshots will be possible, we need to
pass GVir.DomainDeleteFlags.SNAPSHOTS_METADATA to the delete() call of
the domain, so the user can even delete domains with snapshots.

https://bugzilla.gnome.org/show_bug.cgi?id=710306
Add SnapshotListRow

This will be used in the snapshots page of the VM properties and
features a way to delete, rename or revert to the snapshot it
represents.

https://bugzilla.gnome.org/show_bug.cgi?id=710306
properties: Remove margins of property widgets

They were only added on the left of each configuration widget which
makes horizontally expanding widgets look unbalanced.

https://bugzilla.gnome.org/show_bug.cgi?id=710306
properties: Use a GtkScrolledWindow for the pages

This is needed for property pages that contain either very high widgets
or a dynamic number of widgets, e.g. the coming snapshots page.

https://bugzilla.gnome.org/show_bug.cgi?id=710306
LibvirtMachineProperties: Add snapshot API

Add API to fetch, get and create snapshots which will be used in later
commits.

https://bugzilla.gnome.org/show_bug.cgi?id=710306
LibvirtMachine: Make the 'properties' field public

Creating, fetching, etc. of snapshots is now part of the
LibvirtMachineProperties and to be able to create snapshots from outside
the machine, we need access to its properties.

https://bugzilla.gnome.org/show_bug.cgi?id=710306
PropertiesToolbar: Make the back button public

To do that, rename it from 'back' to 'back_button' to make the name more
desriptive. This will be needed in a later patch to access the
PropertiesToolbar's back_button from within SnapshotsProperty.

https://bugzilla.gnome.org/show_bug.cgi?id=710306
Topbar: Make props_toolbar public

This will be used in a later patch to access the props_toolbar's back
button from SnapshotsProperty.

https://bugzilla.gnome.org/show_bug.cgi?id=710306
Add SnapshotsProperty

The SnapshotsProperty provides a UI to view, create, delete, rename and
revert to snapshots of the given LibvirtMachine.

https://bugzilla.gnome.org/show_bug.cgi?id=710306
properties: Add the snapshots page

The snapshot page lists all the snapshot available for the domain and
the user is able to delete, rename or revert to them.

https://bugzilla.gnome.org/show_bug.cgi?id=710306
DisplayPage: Way to switch display widget w/o showing it

If the user is in the properties page and the machine's display
reconnects, we need to replace the display page's widget with the new
display without showing it.

https://bugzilla.gnome.org/show_bug.cgi?id=710306
machine: Don't switch away from properties on display disconnection

If the user reverts to a snapshots and the domain is running, it will
temporarily be paused, causing its display to disconnect. We normally
switch to the collections view, but let's not do it if the user is
currently in the properties view since the state change is just normal
when reverting to a snapshot.

https://bugzilla.gnome.org/show_bug.cgi?id=710306
machine: Ignore disconnection during props

State changes to STOPPED are completely normal if the user reverts to a
snapshot that was taken when the machine was stopped, so don't show any
error message in this case and don't switch to the collections view.

https://bugzilla.gnome.org/show_bug.cgi?id=710306