hal::*::lock: Initial commit

This is a basic locking primitive for buillding synchronization
primitives.
hal::cortex_m3::sched: Add CritSection

This implements a simple abstraction for critical sections where
interrupts must be disabled.
lib::shared: Initial commit

This is a simple container for thread-safe state with access guarded by
a CritSection.
lib::queue: Initial commit

This implements a simple thread-safe queue.
os::task: Add support for blocking
os::mutex: Initial commit
os::cond_var: Initial commit
k20::i2c: Initial commit
k20: Add SIM, GPIO, and pin
k20: Add linker scripts
Make k20 compile
k20/lptmr: initial commit
k20: Add build system support
uart