implemented the strdup() to let linenoise() return a string

Main:
(1)Merged string.c into string-util.c
(2)Implemented the strdup() function
(3)Added some test code in main.c
Else:
(1)Added "static" qualifier to the putstr()
supporting the history record function

*Isn't support to save the records in to the log file yet
Support History
1)Merge history relative function to my branch
2)Merge some memory operation

Merge branch 'master' of github.com:shengwen1997/freertos into linenoise_shell

Conflicts:
	Makefile
	linenoise.c
	string-util.c
	string.c
Support up and down arrows to navigate history
Bug:up or down arrows + (a little time ) + space + enter
This action sometimes will break the terminal. And terminal could
not show any characters anymore.