[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.