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)
utils: Add utility functions guestfs___concat_strings and guestfs__join_strings.

These concatenate strings or join them with a separator in between.
(cherry picked from commit 2ee4d5e059840b518814dd6ce615627fe0a8391d)
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)
tests: Add a regression test for iface launch hangs (RHBZ#975797).

Cherry picked from commit d8a3185823e608dbddbc6185209951140b8f3b33
and some corrections made for libguestfs 1.20.
sysprep: New operation to remove RPM database files.

See:
https://lists.fedoraproject.org/pipermail/devel/2013-June/184389.html
(cherry picked from commit dd21bec4009ad6a65be1634b513be50ee668a63a)
sysprep: rhn_systemid: delete osad-auth.conf file in RHN configuration
(cherry picked from commit 94e5ea6b5ef0d4e4f2d30b51cb5dcce175819456)
launch: direct: Specify -cpu host,+kvmclock.

'-cpu host' makes the CPU look like the host CPU.  This is useful
because it means the appliance can use all the host CPU's features,
eg. for fast checksumming or MD XORing.

'kvmclock' is the paravirtualized clock for qemu/KVM.  It's much more
stable than relying on tsc or a virtualized device such as HPET, and
clock instability is one of the problems we have encountered when
running libguestfs on a heavily loaded machine, especially in a nested VM.

Note that we require qemu >= 1.2 (and have for a while) which has long
supported both of these options.

(cherry picked from commit 038ed0a08eaed33e62a27c9f91780a25de0bc08c)
launch: direct: Don't use -cpu host on TCG.

qemu -cpu \? documents this as:

host  KVM processor with all supported host features (only available in KVM mode)

And indeed if you try it with TCG you'll get this error:

Unable to find CPU definition: host

This fixes commit 038ed0a08eaed33e62a27c9f91780a25de0bc08c.

(cherry picked from commit c53b459fdd7fc340f48a76496b7e7e18256a2d64)
daemon: tar: Use a temporary file to pass excludes to tar command (RHBZ#1001875).

Use tar -X option instead of tar --exclude=... option.
(cherry picked from commit 91c162586cc2170ea224016307016153f3d081b5)
Add a regression test of tar-out excludes option (RHBZ#1001875).
(cherry picked from commit 1b34d6171bb4aaa1134a9d867918d7163cc7e069)
rsync: Document use of glob + rsync-out in guestfish (RHBZ#1001876).
(cherry picked from commit c04fbbda3e1d2bf98e241a95e069ac1fe202c14f)
mke2fs: Document that too small blockscount will result in ext2 filesystem (RHBZ#1002032).
(cherry picked from commit 1c8986e45c3f1a7e2391bde2848667332495e3aa)
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).