revise memory layout for ARM Cortex-M
add missing copyright notice
introduce Linux kernel style build system

The functionality is described as following:

* Makefile.toolchain:
  toolchain-specific configurations; common cflags and ldflags

* platform/build.mk:
  platform-specific configurations; cflags/ldflags for CPU and FPU

* board/*/build.mk:
  board-specific configurations; CHIP model, periperals

* rules.mk:
  the magic of build system
update copyright info
rules.mk: fix typo
rules.mk: clean up unused target
concrete board implementation

Fixes #8
Remove float in usart_baud and work around in irq_save.

When using float point in compile option,
lr value would be strange(0xffffffe9) in IRQ_HANDLER
and we need to save ctx's lr in lr in irq_save to
correct it.