Ho boy that's a lot of work.

Okay, this started out as trying to get the build to better support
TrueNAS and FreeNAS, and there's some of that in here:

grub.cfg.cdrom now uses %NANO_LABEL% to allow "TrueNAS Installer"
as well as 'FreeNAS Installer' depending on th ebuild.  create_iso.sh
was changed to make that subsitution.

install.sh was initially changed to look at ${AVATAR_PROJECT} instead
of "FreeNAS" in several places.  Similarly, the GUI upgrade 0200
script was changed the same way.

But then when I verified that worked, I ran into the slight problem
that the installer wouldn't install.  It turns out there was some
faulty logic.  Some of that faulty logic predates me, so nyah.

The first one was menu_install was checking the wrong number of
arguments -- it needed to check $# > 0, not $# > 1.  Doing that then
exposed an older logic flaw:  the upgrade code looked at slice s1a,
always.  Which was fine, except when it wasn't.  This caused the
install to fail.

So now install.sh has a bunch of really annoying code to look for
the correct OS partition, and it has to handle the case where the
GUI upgrade has booted, and where one has booted off the ISO.

In addition to that, while doing one of something like 30 install
tests last night (I was up way too late), the db migration code I
used didn't work.  William said I was doing it all wrong, so I
changed it.  Then, while that worked, I saw various errors, and I
don't know if they're normal, so for now, it's back to touching
the sentinel files, and thus we get an extra reboot when doing upgrades.
(Since that can be 5-10 minutes on a machine, I really dislike
having extra reboots.  This need to be revisited, but I will need
to discuss further with Josh and William.)

Only 283 lines of diff, vi tells me, but I spent so much time on
it I am writing a very long commit message.  And now I'm bored,
so that's enough of that.
Merge branch 'master' of gitserver.ixsystems.com:/git/repos/freenas-build/freenas

Conflicts:
	build/files/install.sh