add some tests
squelch some log output
some sched defaults
dump some registers for debugging
high-speed USB driver test
quick versions of memcpy/memset
allow region_t to be used even without USE_VMM enabled; add vmm_dump_region function
big revamp of process load-time linker

Revisit the relocation and load-time linker in order to make them more generic
and applicable to more complicated ELF images. The text, bss, and data sections
are no longer hard-coded. Now the lay out analyzer looks at the ALLOC flags and
determines what should be put into memory. The physical memory allocated to a
program is resized if alignment constraints force a larger memory size. The
relocator checks all SHT_REL sections and rewrites their associated target
section.

The only hard-coded sections are: .text must begin the program, and .data must
contain the various program parameters that we rely upon.
added process_is_valid_pointer

Checks a given pointer to see if it actually lies within a process's regions.
added PREL31 and NONE type relocations
fix the relocation of ARM_CALLs

the sign extension wasn't being done correctly before
more appropriate register dump for prefetch/data aborts
DUMP_REGS macro
add snprintf to userlib, add user.h, fix linking of userlib in progs
split some basic memory defs out and use them in userlib along with types.h
implement ARM_JUMP24 reloc
add a debugging 'syscall' for dumping logs from 'userspace' to serial port
test the debug syscall
add preliminary ehci module

detects and enumerates port1, loading usb dev descriptor and dumping it
remove in-kernel hsusbhc driver