boot/loader.s moved to kernel/loader.s
Move loader.s back to boot

It is important to treat this file separately since it contains the
multiboot header.
Add palloc() syscall for page-level allocation

The palloc() syscall allocates a single page to a process.  This is the
first step towards moving memory management into user-space.

A limitation of this scheme is that processes cannot allocate more than
4096 bytes.  Virtual memory should make this possible, however.

Still TODO: use a better algorithm for page allocation, such as a buddy
allocation; implement malloc() in terms of palloc(), with user-space
memory management; identity paging, with per-process protections for
allocated memory.