procfs: fix rare panic in add_inode

Previously, procfs would consider all processes that have a non-free
kernel slot *or* an in-use PM slot. However, since AVFS, a non-free
kernel slot does not imply an in-use PM slot. As a result, procfs
may use PM slots that have a zero PID value. If two such entries are
present in the retrieved PM table, procfs would try to add two inodes
with the same name "0", triggering an assertion in vtreefs.

This patch makes procfs consider only the PM slot for (non-task)
processes.
use linker to align fpu state save area
daily cron: fix timestamp updating

	. previously was not updated causing daily to be run on
	  every boot
run test fix, take two
VFS: reimplement truncate mtime/ctime fix

POSIX mandates that a file's modification and change time be left
untouched upon truncate/ftruncate iff the file size does not change.
However, an open(O_TRUNC) call must always update the modification and
change time of the file, even if it was already zero-sized. VFS uses
the file systems' truncate call to implement O_TRUNC. This patch
replaces git-255ae85, which did not take into account the open case.
The size check is now moved into VFS, so that individual file systems
need not check for this case anymore.
MFS: reimplement block clean marking fix

MFS' get_block() must never return a newly acquired block buffer that
is marked dirty from previous use. This patch replaces git-dd59d50,
which assumed a working model where blocks for device NO_DEV would
never be dirty. For at least one scenario, that assumption does not
hold, triggering superblock overwrite warnings. In this patch, blocks
are explicitly marked as clean upon being repurposed. The working
model is now restored to be: the dirty state of a block is relevant
only when its associated device is not set to NO_DEV.
Enable LZMA supprt with tar(1)
kernel: mon_return cleanup

cleanup of boot monitor related code.
AT_SUN_EXECNAME support

	. vfs: pass execname in aux vectors
	. ld.elf_so: use this to expand $ORIGIN
	. this requires the executable to reserve more
	  space at exec() calling time
VFS: I_PIPE is redundant

Also, use S_IS* macros instead of manual comparison.
VFS: use S_IS* macros
VFS: simplify stat for pipes

According to POSIX the st_size field of struct stat is undefined for
fifos and anonymous pipes. Thus we can do anything we want. We save a
copy by not being accurate on pipe sizes.
VFS: release what can be released

Only attempt to release blocked processes that are blocked. There is
no use in trying to find more blocked processes than we know that are
blocked (on a pipe).
VFS: unlock vmnt when out of vnodes
libmthread: don't always verify library initialization

This can be turned back on when the library is compiled with
-DMTHREAD_STRICT (which enables more sanity checks). However,
always performing this check shows up in system profiling results.
libarchive import

	. clean and nbsd_ports managed import
	. also makes it shared
test43: fix dangling-symlink case
VFS: fix "process already free" panic on reboot

Reported by Claudiu Dan Gheorghe, debugged by Thomas and myself
brazilian keymap

contributed by David Augusto.
retire BIOS_SEG and umap_bios

	. readbios call is now a physical copy with range check in
	  the kernel call instead of BIOS_SEG+umap_bios
	. requires all access to physical memory in bios range to go
	  through sys_readbios
	. drivers/dpeth: wasn't using it
	. adjusted printer