Create tmp file to display a fatal error in dialog

When working with the dialog-based version of the program and a fatal
error occurs, create a temporary log file and put the full output of the
program there. This makes it easier for the user to determine what went
wrong.
Assign a SORTORDER metadata to the image

This is automatically assigned according to the OS type and the
distribution of the image.

This resolves #9
Detect the installed kernels on Linux systems

Fill the KERNEL image property with the version of the latest installed
kernel found in the input media.
Change an output message to success
Add Kernel metadata for Windows
Add OS version numbers in SORTORDER computation

The SORTORDER is computed like this: ODDHHLL
O: OS type
D: Distribution
H: Version high
L: Version low
windows: add _update_dword() function in registry

This is a helper function used to remove common code found in
windows: Disable Windows Update before booting

Before booting the Windows VM either to install the VirtIO drivers
or to perform the various system preparation tasks, make sure that
the Windows Update is disabled. If it wakes up it can screw things
up.
windows: Enable Auto Update if not sysprepped

When we cleanup all the changes made before booting the Windows VM, only
revert the /Microsoft/Windows/CurrentVersion/WindowsUpdate/Auto Update'
changes if the image has not been syspreped. Those values get deleted
during Sysprep.
Order the snf-mkimage input arguments

Order the arguments alphabetically.
Merge the image and the OSBase metadata dicts
Detect installed desktop sessions

Fill the GUI metadata with the detected info.
Add a --print-metadata option in snf-mkimage

This option can be used to display the detected metadata of an image.
Add support for mounting the image locally

Mount the image on the host system using FUSE and libguestfs.
Make sure the fatal error temp file gets deleted

Fix a bug where the temporary file that would store the fatal error
in snf-image-creator is not deleted on normal exit.
Detect if MOUNT LOCAL is supported in libguestfs

Only use the mount feature in the Image class if it is supported by
the libguestfs build. The feature of mounting an image locally through
FUSE was added in libguestfs 1.18.
Support lazy umount for the local mounted media
snf-mkimage: Add --host-run option

This can be used to define scripts to run on the guest media after
mounting it under a directory in the host.

This resolves #13, resolves #14 and resolves #15
Add support list sysprep parameters

The type for those parameters is list:<type>
Make the sensitive_userdata a list sysprep param

The user may alter the list of sensitive userdata