pull: When --depth is specified, ensure we have all requested objects

We were previously optimizing by skipping object traversal if the refs
were unchanged, but if the user specifies a deeper depth than they did
before.
ostadmin: [incompat syntax change] Allow deploying any revision

The old command line syntax assumed you wanted the latest from
a given revision, but to bisect, you really want the ability
to deploy any given one.

Old:
$ ostadmin deploy gnomeos-3.6-i686-{runtime,devel}

New:

$ ostadmin deploy trees/gnomeos-3.6-i686-runtime
$ ostadmin deploy trees/gnomeos-3.6-i686-devel

And note that the deploy directory now changes to:
/ostree/trees/gnomeos-3.6-i686-devel

And now it's possible to:

$ ostadmin deploy trees/gnomeos-3.6-i686-devel trees/gnomeos-3.6-i686-devel^^^
ostadmin: Print an error message if run as non-root

See https://bugzilla.gnome.org/show_bug.cgi?id=680823
TODO: update
Automatically populate the git submodules in autogen.sh
ostadmin: Add --ostree-dir directory

This will be used by the qemu deployment script.
ostadmin: Change command line for qemu deploy helper

The qemu helper really wants to copy kernel modules, but not
update the system bootloader.  Allow it to reuse ostadmin for
this.

Note that our previous path of shelling out to "cp -al" broke because
it refused to make cross-device links.

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	modified:   src/libotutil/ot-gio-utils.c
#	modified:   src/libotutil/ot-gio-utils.h
#	modified:   src/ostadmin/ot-admin-builtin-deploy.c
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#	embedded-dependencies/glib/
#	embedded-dependencies/libsoup/
ostadmin: Use g_spawn_check_exit_status()

Just code cleanup.
triggers: Print execution time for each trigger
Support non-builtin commands

 * Support executing commands in the path
 * This makes 'ostree-pull' work as 'ostree pull'
autogen: Fetch submodules before running automake

Otherwise automake can't find src/libgsystem.
configure: Fix libsoup detection

* The configure arg was named incorrectly; we don't rely on
libsoup-gnome, just libsoup.
* We need to use AS_IF
ostadmin: fix command line handling in the builtins

Common code was duplicating the command name and not shifting
arguments properly, which thus required the builtins to be aware
of it, instead of being treated like subcommands.
Include pull and other external commands in usage output
embedded-dependencies: Fix ACLOCAL_FLAGS, update for libgsystem

* Handle the libgsystem submodule
* ACLOCAL_FLAGS was broken
* Add srpm-embedded
ostree-run-triggers: fix typo in filename comparison function

The comparison function was comparing the first file to itself,
and this resulted in triggers being run in random order.

https://bugzilla.gnome.org/show_bug.cgi?id=682297
Don't fail for EPERM when hardlinking

As the manual page doesn't say, but the in-code kernel documentation
shows, hardlinking for normal users can fail for a variety of
reasons (including very common situations such as non regular file
or non writable file), if the owner of the file does not match
the user linking (e.g. when checking out a shadow repo with a root-
owned master).
If that happens, fail back silently to copying instead of aborting
the whole operation.

https://bugzilla.gnome.org/show_bug.cgi?id=682298
ostadmin: add update-kernel command to regenerate initramfs and boot config

This command regenerates kernel-dependent files. It is meant to
be run after kernel upgrades in the host distribution, to keep
the ostree installation running, and attempts to figure out the
right version automatically (and without changing the ostree checkout)
Add infrastructure for automatic kernel updates

If the distribution supports running arbitrary scripts at kernel
updates, we can hook into it and update the ostree side of things
automatically.
pull: Set an error when we get an unsuccessful HTTP response

Otherwise we'll e.g. try to parse 404 HTML as an object which will
fail.