properties: Refactor PageWidget into its own class/module

Lets avoid confusing (to code readers) nested classes and move PageWidget
out of Properties class into its own module with a new name,
PropertiesPageWidget.

https://bugzilla.gnome.org/show_bug.cgi?id=741047
libvirt-machine-props: Use notifications for errors

Instead of launching a dialog on failing to save troubleshooting log, use
notifications.

Known issue: The troubleshooting log is itself a dialog that hides the
properties window at the moment so the notification is hidden unless
user closes the dialog soon (a few seconds) after choosing the file.
This issue will be resolved after we merge troubleshooting log UI into
the properties window itself.

https://bugzilla.gnome.org/show_bug.cgi?id=741047
properties-toolbar: Keep a ref to PropertiesWindow

We'll need this from PropertiesToolbar in the following patches.

https://bugzilla.gnome.org/show_bug.cgi?id=741047
properties-window: Add revert_state()

Add a public method to revert the state to whatever it was before we
arrived at 'properties' state or 'collection' state if last state
doesn't make sense, and make use of this method in both PropertiesWindow
itself and PropertiesToolbar.

https://bugzilla.gnome.org/show_bug.cgi?id=741047
properties-toolbar: Handle buttons' visibility

PropertiesToolbar now handle the visibility of its buttons itself.

https://bugzilla.gnome.org/show_bug.cgi?id=741047
Introducing TroubleshootLog widget

This simple widget will be used in the following patches to show
troubleshooting log to user, to replace the dialog we use currently.

https://bugzilla.gnome.org/show_bug.cgi?id=741047
properties-window: API to show troubleshooting log

Add a view and API to show troubleshooting log to user.

https://bugzilla.gnome.org/show_bug.cgi?id=741047
properties-window: Add copy_troubleshooting_log_to_clipboard()

Add API to copy the contents of troubleshooting log to clipboard.

https://bugzilla.gnome.org/show_bug.cgi?id=741047
properties-toolbar: Content for troubleshooting log view

The properties topbar should provide a different set of controls and
title when troubleshooting log view is visible in the properties window.

https://bugzilla.gnome.org/show_bug.cgi?id=741047
libvirt-machine-props: Drop troubleshoot log dialog

Instead of creating and launching a separate dialog to show
troubleshooting log to user, use the new PropertiesWindow API to do so.

Nested dialogs is something we want to avoid according to our designers.

https://bugzilla.gnome.org/show_bug.cgi?id=741047
properties-toolbar: Add click_back_button()

Add API to click the appropriate back button in the properties topbar,
depending on which headerbar is current.

https://bugzilla.gnome.org/show_bug.cgi?id=741047
properties-window: Go back on Alt+Left key combo

Go back to main page on Alt+Left key combo.

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