Miscellaneous tmpfs fixes from OpenBSD

- Use UINT64_MAX for TMPFS_DIRSEQ_{END,NONE} in tmpfs.h.
- Remove unused definitions from tmpfs_vnops.h.
- Allocate 'dirent' on the stack in tmpfs_dir_getdents().
kill tmpfs_fifo_*; inspired by OpenBSD

no binary change
Revert "copy list pointers instead of looping; openbsd"

This reverts commit ff496178a8f46b01160edf9b21375d11681efc42.

Pointed out by and OK drahn@.
mcpp did not accept 'defined(x)' in any mode other than standard.

This does not match gcc '-tradtional' behaviour,
modify -traditional to support 'defined' keyword in that mode
for gcc compatibility.

Make cpp use -traditional to cope.

Document the difference between @oldprep and -traditional.
Define a local type which maps to _Bool or bool

Previous attempts to solve the c++ vs atomic have met with failure.
Perhaps this is a cleaner method?
Add load/store exclusive instructions for arm v7(v6?)
Enable -arch support and arm as a supported target for mcpp.
Bitrig doesn't translate amd64 -> x86_64.
Support cross mode in cpp. (Note cpp doesn't yet use target headers)

Fix Makefile.cross error
Set sysroot to cross area for cpp.
Remove older ARM architectures, ARMv7 is now the default.

Also replace pmap and cpuswitch with the ARMv7 versions.

ok aalm@
Do not call spllower to IPL_NONE in proc_trampoline for MP as it would give us interrupts way too early.

ok aalm@
switch to MULTIPROCESSOR kernels by default

make GENERIC.MP our new GENERIC (from which /bsd is derived), and
introduce a new GENERIC.SP for legacy support (from which /bsd.sp is
derived), adjusting references in Makefiles and man pages accordingly.

OK patrick@
Add proper atomic_{clear,setbits}_int implementation for ARMv7 SMP.

ok aalm@
Remove cpu attach code from SCU.

ok aalm@
Fix a missing unlock in uvm_pager_put().

This was reproduceable in haesbaert_thrint:a9dd9f97dd6764b39bb962dd96732f8af04d4e30
by building snaps, would always panic before ~2h.

After the fix, the test runs fine, no problems in over ~40h of
execution.

ok oga@
Allocate only one page for the IRQ/ABT/UND stacks.

ok drahn@
Revert "Fix block allocation path in WAPBL"

This reverts commit 38d8b286e5bcef22adb38f816b290cbcb5f36062.

WAPBL suffers from the fundamental problem that, unlike softdep, it does
not guarantee that newly allocated blocks will make it to disk before
the metadata pointing to them. The approach taken in 38d8b286e5bce fixes
this problem but imposes unacceptable performance penalties by
completely disrupting the write clustering code. Revert it for now while
a proper solution is worked on.
When restoring SPSR, use spsr_fsxc so bits[23-8] are restored.

Spsr_all doesn't restore all bits!

This should fix use of simd instructions that rely on
the GE bits.  Also, this fixes our cold boot crash on
the Utilite and Nitrogen 6x.

From NetBSD.

ok drahn@
AHCI seems to work out of the box on the Utilite.