lib/fs: add 'foreach' module

This module provides simple iterator functions that save you one level of
filtering.

For example, the following code snippet

for cpufreq in /sys/devices/system/cpu/cpu?*/cpufreq; do
   if [ -d "${cpufreq}" ]; then
      apply_cpufreq_settings "${cpufreq}"
   fi
done

can now be written as

foreach_dir_do apply_cpufreq_settings /sys/devices/system/cpu/cpu?*/cpufreq
lib/: some minor modules and changes

lib/integer: functions that check whether a word is an integer
lib/runcmd: run or fake commands (fake := print them to stdout/stderr)
lib/sudofy: add **SUDO variable

lib/fs/all: add fs/foreach
lib/fs/dofile: use dodir_minimal(), warn about missing files

lib/misc/depcheck: locate executables (and die if a dep is missing)
lib/misc/pramga: add __faking__
lib/hardware: add disk_status, policy

new modules:
* disk_status -- query disk power mode status using hdparm
* policy -- apply hardware settings (e.g. disk apm/spindown/..., usb suspend)

Other changes:
* hardware_hacks: use runcmd, set DOFILE_WARN_MISSING=n in hardware_hacks_auto
scripts/vdr/call-recordmux: add 'set -u' warning
new scripts: disk id, user tmp, hwpol

* fs/disk_id: print disk_id / dev name pairs
* fs/get_user_tmpdir: create user TMPDIRs in /tmp/users (using sudo)
* hardware_policy: "frontend" for lib/hardware/policy
* gentoo/portage-etc-layout: replace files in /etc/portage with dirs
lib/fs: add pack module

The pack module provides functions for creating tarballs.
See scripts/lib/pack_system for an example that uses this module.
scripts/lib: add pack_system

A lib that allows to create image files (tarballs, squashfs files) of systems,
e.g. chroots.
See in-code documentation for usage, especially the file header comment.

This file is not part of module library (lib/) because its function names are
too generic (e.g. next(), which starts the declaration of a pack target).