sysroot: Handle deleting directories in /etc

We need to use the full shutil_rm_rf() in order to actually delete
complete directories.

Test suite code based on a patch from Sjoerd Simons <sjored@luon.net>

https://bugzilla.gnome.org/show_bug.cgi?id=710097
trivial: Don't include config.h in headers

This should be included by each .c file.  This fixes using libostree
from a "plain" project without config.h.
trivial: Add missing files to dist
repo: Remove set-but-unused variable

The gpgme examples use this, but from what I can tell we don't really
need to because we don't need detailed results; we only care whether
we signed it at all.
Release 2013.7
core: Add size information to commit metadata

Add a --generate-sizes option to commit to add size information to the
commit metadata.  This will be used by higher level code which wants
to determine the total size necessary for downloading.
Update libgsystem

Just to test the new code.
Add OstreeAsyncProgress, use it for ostree_repo_pull

Several APIs in libostree were moved there from the commandline code,
and have hardcoded g_print() for progress and notifications.  This
isn't useful for people who want to write PackageKit backends, custom
GUIs and the like.

From what I can tell, there isn't really a winning precedent in GLib
for progress notifications.

PackageKit has the model where the source has GObject properties that
change as async ops execute, which isn't bad...but I'd like something
a bit more general where say you can have multiple outstanding async
ops and sensibly track their state.

So, OstreeAsyncProgress is basically a threadsafe property bag with a
change notification signal.

Use this new API to move the GSConsole usage (i.e. g_print()) out from
libostree/ and into ostree/.
Add support for mkinitcpio

https://bugzilla.gnome.org/show_bug.cgi?id=710682
libostree: Squash two g-ir-scanner warnings
libostree: Squash a compiler warning
libostree: Remove extra : in comment

g-ir-scanner handles this, but it stuck out.
main/remote: Add a show-url operation to the remote command

Useful to get the remote url in scripts.

https://bugzilla.gnome.org/show_bug.cgi?id=710967
Fix crash when deploying with implicit os name

When booted into an ostree you can deploy without passing
an --os option. That was crashing though, because
ot_admin_complete_deploy_one is called with NULL
osname but it was not handling it properly.

https://bugzilla.gnome.org/show_bug.cgi?id=710970
main: Treat default osname more consistently

The libostree already treats passing NULL for osname as "booted
osname, if any".  We should do the same inside the tools.  The upgrade
builtin had this logic duplicated there; we should be able to safely
remove it.

https://bugzilla.gnome.org/show_bug.cgi?id=710970
Update libgsystem

For https://bugzilla.gnome.org/show_bug.cgi?id=711057
fetcher: Display incremental download progress

Previously the progress meter would bump in large chunks after we
completed a download.  Instead, poll in progress files via fstat() for
their size, and add those to the running total.
ostree-remount.service: Run before systemd-random-seed.service

It's essential that we've mounted /var read-write in order for
random-seed.service to work.
Move xattr handling into libgsystem, fix sysroot to handle directory ownership/perms

This large patch moves the core xattr logic down into libgsystem,
which allows the gs_shutil_cp_a() API to copy them.  In turn, this
allows us to just use that API instead of rolling our own recursive
copy here.

As noted in the new comment though, one case that we are explicitly
regressing is where the new /etc removes a parent directory that's
needed by a modified file.  This seems unlikely for most vendors now,
but let's do that as a separate bug.

https://bugzilla.gnome.org/show_bug.cgi?id=711058
Update libgsystem