Added a call to the exit system call if main returns
Added some code to clear the BSS
Added a priority insert function for queues
Initial user space library, has some system calls
Renamed string macro because it's used in other places now
Interrupts change to the kernel stack.

Also separated the interrupt defines from the C definitions to make it
easier to use in the assembly files. The interrupt.s -> interrupt.S now
goes through GCC to use the preprocessor.
Moved some of the timer definitions around

You now set the timer delay and start the timer separately.
Added a few functions, fixed some bugs

-Added virt_lookup_phys
-Fixed virt_clone_mapping (doesn't do COW yet)
-Added conditional compilation flags for debug statements
Added 'safe' allocator functions

They will check the return value for null and panic with an error
message if it happens. Cleans up a little bit of the code elsewhere.
Initial syscalls module. Implements fork and exec
Moved the virtual memory defines to their own file
Added a call to initialize the syscall module
Added initial thread definition, made state an enum
Added new definitions to the virtual memory import header

-Added virt_lookup_phys
-Added virt_clone_mapping
-Added extern void* kernel_table
Added some more functions, implemented extremely basic scheduler

Added functions to allocate and free PCBs
Added very simple round robin scheduler (will be better later)
Moved defines to their own header file
Added X86_64 specific definitions
Added .S files. These are parsed with the C preprocessor
Added ulib.c.o make rule
Added some debug information in the interrupt handler