Support specifying the git-revision to mount on the cmdline
Update initramfs to include previous two changes
Remove old updates code

This will be replaced by new code, run from live-config.sh.
Store boot options needed inside the chroot

This allows these options to be used during the upgrade process as well
as during the build process. Additionally, this allows these boot
options to be specific to a version of the chroot, since they can be
changed when upgrading.

This needs a companion change in the webc live-config repository to work.
Make live-config.sh support upgrading the rootfs.

This is still a basic version, that only upgrades the rootfs (not the
kernel and initrd) and still has a lot of gaps, but it does work.
Update the kernel and initrd during an upgrade
Support fetch_revision and update_revision

fetch_revision is the revision we should fetch from the git server (it
can only be a branch or tag name, since we can't fetch a sha directly).

update_revision is optional and can be used to specify a sha of a
revision to update to (but it must be "included" in the fetch triggered
by fetch_revision). If no update_revision is given, the revision
specified by fetch_revision is used.
Name autocreated tags a bit more verbosely
Move functions from webc.conf to the (new) functions.sh
Split off some upgrade related code into functions.sh

This should allow re-using parts of this code for installs and
post-install upgrades in the next commits.

This commit should not change any behaviour, only move code around.
Completely generate extlinux config on install

Instead of using the Debian default extlinux config and heavily
modifying it, we now generate a simple config from scratch. This config
has just a single entry with no prompt, so the installed version always
boots unatteneded.

Also, the kernel is installed using the same code used for upgrades, so
instead of copying the kernel and initrd from the current rootfs, they
are extracted from git directly.
Support upgrades in the installed version

This reuses the same code for building the bootloader config that is
used during the install, which should make sure the bootloader config
stays consistent.

Note that since a few commits, upgrades were broken for installed
versions (possibly to the point of breaking a working install). Now they
work again completely.
Remove / ignore locales and includes

This removes all files in /usr/include and sets up dpkg to not unpack and git
to ignore files in /usr/include and /usr/locales.

This also modifies a bunch of dpkg .list files to remove the locale files, but
it seems these are not all of them (haven't found a way to make dpkg re-check
and update all of its .list files yet).

Since these locale files are only used for translations of software we're not
exposing in webconverger (Firefox uses its own translation mechanism), we're
leaving them out to save space. Include files should not be needed for similar
reasons.
Don't overwrite install.log on every install attempt

If for some reason the shell exits without triggering the failed
handler, this prevents the error output from being thrown away.
Fix failed_install handler

It was originally written to check $? to see if the last command failed
or if it was called because of a normal exit, but since the handler is
uninstalled just before the normal exit, this was no longer needed.
However, the $? argument was no longer passed to the failed_install
handler, but it did still check it, causing the handler to never work at
all.
If the install fails, allow restarting the install procedure

Previously, it would just dump into a (near) indefinite wait, now it
allows exiting the script, so init will restart it.
When the install fails, clean up any mounts

This really allows retrying the install.
Add some sanity checks to the upgrade code
When not running in debug mode, let logbot suppress all output
Restructure logbot.sh to use exec

This will cause one less process to be running. The new structure is
also a bit more clear.