Add poweroff and nowait FAI_FLAGS.

This allow a different handling for FAI when finishing or aborting an
installation.  The default can also be changed editing the FAI_ABORT
variable in fai.conf.

This also installs a faipoweroff symlink to faireboot, which powers off
the host instead of rebooting it.

nowait is introduced becauce reboot halts the host until enter is
pressed, so this combination allows to poweroff or reboot immediately
when finished.
sendmon: send MAC or "PXE" instead of hostname.

Currently faimond prefixes all messages with the hostname. This adds
an option to fai.conf (FAI_MONITOR_SEND_ID) to change this behavior.

Instead it can prefix the message with the MAC. As a convenience option
it can also convert the MAC to the pxelinux format (01-${MAC//:/-}).
Check aptitude options in updatebase.

This checks the available aptitude options in updatebase (safe-upgrade
vs. upgrade, full-upgrade vs. dist-upgrade). This is needed for Etch
update support.
Generalize task skipping via FAI_FLAGS

This allows to skip a task by setting a FAI_FLAGS "skip${taskname}".
This also drops the special handling for the faiend flag.
Add general wait${taskname} flags for tasks.

Drops the wait flag evaluation after confdir and introduce a general
wait${taskname} flag handling in the task() function.
fai-disk-info: optionally skip USB devices.
fai: use die() for errors.
fai: add debug option and variables ($d, $v).

This adds a debug option to the FAI commandline options.
Additionally it evaluates the $flag_debug and $flag_verbose
earlier in FAI setup and sets the convenience variables $v
and $d accordingly.
Always use $flag_verbose and $flag_debug.

Changes $verbose and $debug users to use the $flag_* version, as
$verbose and $debug were already deprecated.
ainsl: fix appending to file w/o trailing newline.

If the file doesn't end with a newline and is not empty, a newline
is appended before the real line is added.
s-s: some partitions don't have a mountpoint.

Check for existing mountpoint hash entry before accessing it in
the '/boot' check, e. g. for extended partitions.
s-s: respect alignment for logical partion sizes.

There is this nice comment in the partition size calculation:

> logical partitions require the space for the EPBR to be left
> out; in fact, even alignment constraints would have to be considered
                                           ^^^^^

Nice try - this patch actually consideres the alignment and fixes
a setup-storage bug, which fails for the case, where a fixed
logical partition was after a ranged logical one, like:

> disk_config disk1 fstabkey:uuid align-at:1048576B bootable:1
> primary /boot        500          ext2  rw
> logical /            3000-100000  ext3  rw
> logical swap         2048         swap  rw

The partition table size is always caculated to large for a disk in
the range, e.g 80GB (80026361856B):

> Disk /dev/sda is too small - at least 80027320320 bytes are required.