Change the way semid_t values are chosen.  Instead of using kernel
addresses, use a uint32_t counter and the machinery to properly use it.
That makes the ksem_* system calls friendly for COMPAT_NETBSD32.

OK'd by thorpej@.
Implement the ksem_* family of syscalls.
s/u_intN_t/uintN_t/
ANSI: Use 'void' in the definition of function w/out arguments.
While here, add 2006 to the copyright.
Sync with <sys/endian.h>.
Ifdef out ntohl &co defined for little-endian via bswap* - use system versions.
off_t should be a signed type.
Loader uses ElfLoader::memorySize to determine the number of tagged
pages to allocate, as some of those pages are only partially filled
(e.g. last page of loadable segment) we may allocate too few tagged
pages and boot will fail.  So lie by reporting extra size for each
partial tagged page.

XXX: This is an ugly hack, but I'm not going to shave this yak.
s/u_intN_t/uintN_t/
provide strings for the machdep ptrace calls.
Prefix dbg_str with "L".
sync with head.
separate page replacement policy from the rest of kernel.
an experimental implementation of CLOCK-Pro.
simplify #ifdef a little.
remove unnecessary ";".
add a statistic.
some comments.
reduce unnecessary c99'ism.
a comment.
- change the way to account read-ahead stats.
- fix UVM_PQFLAGBITS.