replace libgit2 with the git master version.

This version was compiled by me manually, from git revision
7779437fd56882060eca6128e9680ba1705e0081.
replace git-fs with a newer version

This binary is compiled from git revision
6897986234b0badb1cc406653fb421295dbf3a82.
make live-boot support a git repository as root filesystem
delete .git-fixups/000-chown-root.sh

The chown is not needed with git-fs (and shouldn't be needed when the chroot is
created and edited as root either). Also, this chown breaks when running it at
boot time with git-fs, since it also tries to chown the contents of the ISO.

The cmod on tmp is also in a different fixup script, so it can be dropped as well.
mount the git repo as /.git

This makes the entire rootfs a big git worktree, allowing to clone from it or
commit changes to it (on a read-write filesystem).
when the boot medium is read-only, overlay a second aufs over /.git to still allow committing

These commits will be lost on a reboot, but this can still be useful to commit
a small change and push it out directly.
update the initrd

This makes the initrd include a number of previous changes made to the rootfs,
but not included in the initrd yet.
make the install script work again with git-fs

It now installs a git repository, extlinux configuration files, a kernel and an
initrd, instead of a full root filesystem onto the hard disk.

The extlinux setup is still a bit crude, it just copies stuff from /boot.
Ideally, the extlinux configuration would be regenerated from scratch (also to
facilitate a failover setup when changing kernels / upgrading the root
filesystem).
in the install script, don't use set -e

When using set -e, any command that fails (except in some circumstances)
immediately terminates the script. This includes commands run inside functions.
However, the ERR trap that is set up does _not_ trigger inside a function,
causing the script to just quit without display an error (and, because it also
skips the sleep inside the ERR trap, init keeps respawning the install script
over and over, causing /root/install.log to not contain anything useful
either).

Solving this with set -E, which causes the ERR trap to work inside functions
has side effects: this causes the ERR trap to also work inside command
substitutions, like the "for i in `cmdline`" inside cmdline_has. Since cmdline
actually returns an error when /etc/webc/cmdline does not exist, this causes
the ERR trap to trigger in this case as well (even when set -e does not).

However, since the ERR trap triggers regardless of set -e being set, we can
simply remove the set -e and let the ERR trap handle the exit (through exec, in
this case). This does mean that any errors inside functions are not
automatically trapped, so functions need to make sure they return an error when
they fail.
improve message displayed when installing fails
in the install script, use set -e for errorhandling again

The previous approach, using a ERR trap but not set -e could not automatically
handle failures inside functions. But using an ERR trap together with set -e
did not give the expected results either. To improve this, we now use set -e
again to make the script exit on any error and an EXIT trap to show a message
on a failed install. To prevent a succesfull install from triggering the
failure handler, we unset it after a succesful install.
in the install script, make sure using the _err function causes failure
in the install script, improve logging
after installing, let the user press enter to reboot

Previously, the script would just reboot directly, which prevents the user from
seeing the install was succesful.
Merge pull request #64 from matthijskooijman/git-fs

Basic git-fs support