remove math code for newlib

Newlib already have optimized and full featured math implementation. To
use it, one should add:

    env['LIBS'] = ['m']

or equivalent to the SConstruct.
Newlib: link with libm in default.

libm is a frequently used lib. Newlib is compiled with
-ffunction-sections in recent GCC tool chains. The linker would just
link in the functions that have been referenced. So setting this won't
result in bigger text size.
newlib: use the LIBS argument in DefineGroup instead of modifying the Env
add libcpu/sim/posix/cpu_port.c
add bsp: simluator for linux
add some comments and clean code in cpu_port.c
re-write the rt_hw_interrupt_enable/disable
Merge pull request #11 from grissiom/remove-newlib-math

remove math code for newlib
add finsh, but still cannot work, only can be built with gcc
surport finsh
add gcc.ld
rewrite cpu_port.c (but still has bug)
fix bug in cpu_port.c(can work very well)
clean code in cpu_port.c, add some comments
Add RT_MTD_ESRC definitions.

Add RT_MTD_ESRC definitions. If the source page has issue when copying a page, the low level can return this error code.
recover the terminal's behaviour when runing exit in finsh
handle standard request to interface that defined in class
Merge pull request #13 from heyuanjie87/ForPullRequest

handle standard request to interface that defined in class
fixed the string descriptor send to host more than actual
more deterministic on timer

If two timer will timeout at the same tick, the one started later will
be called later. I've tested the patch on simulator and it _seems_ OK.

Reported-by: xdzy on the forum and delin17 <delin17@qq.com>