Merge pull request #1 from zeusk/master

fix unintentional overwrite of fpexc
[kernel] squelch some boot spew
[platform][stm32f1xx] properly preempt in the bottom of the uart irq
[arch][arm-m] squelch some scheduler spew
[arch][arm-m] enable the cortex-m3's cycle counter
[app][tests] spiff up the thread tests a bit
[arch][arm] fix arm include from assembly
[platform] remove the debug_dump_* routines from platform space and move into armemu
[libc] update printf to use a callback routine

This avoids the need to have a fixed sized buffer on the stack during printf.
[tests][printf] add a simple test to make sure snprintf colors within the lines
[platform][sam3] update to Atmel asf 3.2.1 drop
[sam3] pull over a few drivers from asf 3.2.1 enough to get everything up and running
[sam3] add timer driver from asf-3.2.1, get current_time() working
[libc] add cheezy implementation of realloc

-inefficient and not entirely correct, fix ASAP
[app] add feature to set the stack size in the static descriptor
[arch][arm-m] print something more useful on usage faults
[arch][arm-m] fix unimplemented path in preemption logic
[platform][sam3] on particular variants, start sram at 0x20700000

-on 96KB sam3s, the first sram bank of 64KB is repeated 8 times at 20000000.
the second bank starts at 20800000. On these versions if you start your
notion of sram at 20700000 then you get one contiguous 96KB of sram.
[buildall] add sam3x-ek to the buildall script
[kernel] rearrange the order the critical section count is modified

there was a slight race where the critical section count was bumped but
interrupts had not been disabled yet. Reverse the order of operations
so that at worse interrupts are disabled and the count == 0.