Several improvements to kernel/paging.c

* tmp_pgtab page table is allocated statically.  This required using
  gcc's 'aligned' attribute (though the declaration of static page
  tables is handled through a macro, so it should be easy to change if
  another compiler is used).
* kernel_pgtab, previously used in pgdir_create(), is removed in favour
  of manually mapping the kernel into user page tables.
* kzalloc_page() function added to allocate and zero-fill pages (this is
  useful for dynamically allocated page tables).
* kmap_tmp_page() function altered to temporarily map a frame into the
  kernel's address space, instead of mapping a user page into the kernel
  address space.  This is used in kzalloc_page() to create a temporary
  mapping in order to zero-fill pages.
* virt_to_info() and phys_to_info() functions added to get the pf_info
  structure associated with a given virtual or physical address,
  respectively.  These are currently unused.  The intention is to use
  them for reference counting of page frames.
Use linux kernel style

Use 8-characters-wide tabs for indentation, remove spaces before
parameter lists, and some miscellaneous cleaning.
QEMU script

Shell script containing the command to run kernel.bin in QEMU (as
opposed to kernel.img in Bochs).  QEMU's PIT emulation seems to be much
better.
Combine bprintf and bprints macros

Apparently putting ## before __VA_ARGS__ fixes the trailing comma
problem somehow.
Quick & dirty sprintf port from linux

The sprintf family of functions are ported from linux.  This is now used
in kprintf.  Prototypes are in string.h for kernel code.

Also, kprintf uses gcc's "format" attribute to produce warnings for
improper usage.
Use SEGNR_* instead of *_SEGN

Prefixes are better.
Use EXN_/INTR_ prefix instead of suffix

Prefixes are better.
kbuild-like build system

Featuring pretty output a-la kbuild (turn off with 'make verbose=y'),
hidden dependency files, simpler submakes.  The usr/ submake in
particular is improved, with the printserver.o code duplication
eliminated using a handy macro.