[arch][arm-m] rename all the cm3_* functions to arm_cm_* to be consistent

The cm3_ routines apply to more than cortex-m3 anyway, so get rid of the m3.
[platform] fix m3_* api calls to arch_cm_*
[arch][arm-m] add generic header/footer for arm-m handlers
[platform] switch arm-m platforms to using new arm-m irq header/footer
[platform][stellaris] create a more standard vectab
[make] add feature to allow multiple parallel build dirs

Using environment variables LKROOT and LKINC you can specify multiple
parallel top level directories (outside of the lk root) that are overlayed
on top of the build system. This allows for a structure like

lk/
testproject/
someotherfirmware/

Where each of these subdirs has an entire overlayed tree of libraries, platforms,
targets, and projects.

To accomplish this, copy makefile into the root dir and build a lk_inc.mk that
sets LKROOT and LKINC.
[scripts][buildall] add stellaris-launchpad-test to the list
[scripts] fix do-qemux86 and do-qemuarm to reference lk.elf
[arch] add arch_ints_disabled()
[debug] add STATIC_ASSERT
[platform][stellaris] use lk's assert
[platform][stellaris] begin of a gpio api
[headers] add a few more dependency headers found with a quick n' dirty tool

Hacked a quick tool to try to include each header file exactly once
and make sure it compiles properly without any previous #includes.
[arch][arm] fix warning on gcc 4.8.0
[platform][stellaris] fix warning in gcc 4.8.0
[kernel] Fix for non-timeout waitqueue errors in mutex_acquire_timeout
[arch][arm] rules.mk: add rules for arm-linux-gnueabi toolchain

Add rules for finding arm-linux-gnueabi toolchain and set no stack
protection.

When compiled under this toolchain, we get the following linking errors
in the final stage:

undefined reference to `__stack_chk_guard'
undefined reference to `__stack_chk_fail'
undefined reference to `__stack_chk_guard'

Stack protection is default on this toolchain but we don't need it.
[libc] tweak stdio routines to be a bit more standard

change getc/putc/getchar/putchar style routines to take a fake
FILE pointer.
Move log2 to log2_uint to not collide with stdc log2()
[libc] fixup users of newly modified stdio routines
[app][tests] disable printf formatting warnings for printf test