Add support for getting and setting GPT partition type GUIDs

New APIs:
  part_set_gpt_type
  part_get_gpt_type

Cherry picked from commit 956e30effa25eee00fb9e8f5303a6a1fe7409037.
daemon: Make gdisk into an optional dependency and optgroup.

Also document that gdisk is a dependency at all.

This fixes commit 956e30effa25eee00fb9e8f5303a6a1fe7409037.
(cherry picked from commit fa162417ed97218d528b8fa03cd22ad9ce788a56)
Augeas >= 1.0.0 is now required.
(cherry picked from commit 2c4e7ad135b0a14021fad2b942f66b78af0041e0)
inspection: Fix hostname inspection because of faulty Augeas path expression (RHBZ#975412).
(cherry picked from commit 2343840936c900109b6675cc6e605026443ccf0a)
launch: direct: Calculate appliance root correctly when iface drives are added (RHBZ#975797).

This also changes guestfs___appliance_command_line to allow
appliance_dev parameter to be NULL.  Previously a bogus root=
parameter could be passed.
(cherry picked from commit f7fe7e8db021b13f40aba56722d6ebe58e3777d2)
tests: Add a regression test for iface launch hangs (RHBZ#975797).
(cherry picked from commit d8a3185823e608dbddbc6185209951140b8f3b33)
virt-resize: Fix minor typo in error message.
(cherry picked from commit 7949fd3949c300ec70b85b40d8ac7a9d651cd4af)
virt-resize: Add some more debugging messages.

These are only printed when using the --debug flag and are
helpful for diagnosing problems.
(cherry picked from commit 07f3e5ae5cba03d29c5b9675c7f137463b29d424)
virt-resize: Take into account large start offset of the first partition when calculating overhead (RHBZ#974904).

Since we don't usually move the first partition, if the first
partition has an unusually large offset from the start of the disk,
then the unpartitioned space in front of that partition counts as
partitioning overhead.  However the previous surplus calculation was
not taking that into account.

This was a problem for certain Ubuntu images which are partitioned
with an 8 MB gap before the first partition.

Thanks: David Hart.
(cherry picked from commit b730bc0c4685887232daed8fafa491b28f38c300)
virt-resize: Add notes about Windows and disk consistency (RHBZ#975753).

Also group the Windows-related notes together.

(cherry picked from commit a7aa47f4de7c61620c92f95ceb2d6de833152574)
sysprep: New operation to remove RPM database files.

See:
https://lists.fedoraproject.org/pipermail/devel/2013-June/184389.html
(cherry picked from commit dd21bec4009ad6a65be1634b513be50ee668a63a)
daemon: Verify ext2/3/4 filesystem name before passing to mke2fs (RHBZ#978302).

Add a utility function (fstype_is_extfs) to match ext2/3/4 filesystem
names.  This is used in a couple of places.

When passing the mke2fs -t parameter, verify that the request is for
an ext2/3/4 filesystem.  Previously we did not check this, and neither
did mke2fs when the -F flag was also used.

(cherry picked from commit fb0bd82dbe9c3cad40312e89de5b61195f5fd889)
RHEL 6: Emphasize libguestfs-winsupport package (RHBZ#627468).

This RHEL 6.1-only patch changes the error messages when the
inspection code cannot find an operating system inside the guest
image.  For a Windows guest this may happen because the user has not
installed the separate 'libguestfs-winsupport' package.  Therefore we
emphasize that the user may need to install this package.

Notes:

(1) In RHEL 6.1 there are two pieces of inspection code, the old Perl
code (deprecated upstream) and the new C core inspection API.
Therefore this patch has to touch two places with essentially the same
change.

(2) This patch doesn't try to be clever and detect if it was a Windows
guest.  This should reduce the chance of failure.

Output from (Perl) virt-inspector now looks like this:

 $ virt-inspector disk.img
 No operating system could be detected inside this disk image.

 This may be because the file is not a disk image, or is not a virtual machine
 image, or because the OS type is not understood by virt-inspector.

 If you feel this is an error, please file a bug report including as much
 information about the disk image as possible.

 RHEL 6 notice
 -------------
 libguestfs will return this error for Microsoft Windows guests if the
 separate 'libguestfs-winsupport' package is not installed. If the
 guest is running Microsoft Windows, please try again after installing
 'libguestfs-winsupport'.

Output from guestfish (ie. C core inspection API) now looks like this:

 $ guestfish -i disk.img
 guestfish: no operating system was found on this disk

 RHEL 6 notice
 -------------
 libguestfs will return this error for Microsoft Windows guests if the
 separate 'libguestfs-winsupport' package is not installed. If the
 guest is running Microsoft Windows, please try again after installing
 'libguestfs-winsupport'.
RHEL 6: Require external hex editor set with $HEXEDITOR.

RHEL 6 doesn't have the hexedit program or any suitable replacement.
Require that the user sets $HEXEDITOR to make this command work.
(cherry picked from commit 1ee31426e13446bc5fcce242eb496a01d8a78d8c)
RHEL 6: Directly include String::ShellQuote.

Directly include a snippet from String::ShellQuote so that we
don't need to depend on this external library, which is not
included in RHEL 6.1.

This affects virt-make-fs.
RHEL 6: Modify blkid test so it is successful on RHEL 6-era blkid.
RHEL 6: Remove libguestfs live (RHBZ#798980).

This isn't supported in RHEL 6.
RHEL 6: Exclude iptables from the appliance (RHBZ#858648).
RHEL 6: In mount-local docs, change refs to libguestfs 1.18 -> RHEL 6.4.

We backported the libguestfs 1.18 / mount-local functionality
into the libguestfs 1.16 codebase for RHEL 6.4.
RHEL 6: Ignore /etc/release if /etc/redhat-release exists (RHBZ#872454).

If the user has created /etc/release on a RHEL machine, don't
mis-detect the OS as NetBSD.