[libc] add implementation of atoull
[libc] fix printf edge case with signed leading digits

Fixes specific case as in printf("%03d\n", -2), which
would put the sign digit after the leading zeros.

Make sure the sign bits are before any leading zeros or spaces.

Add test case for this.
[lib][libc][*printf] Make printfs more standard

-Remove erroneous null write at the end of every printf.
-Fix return code to be correct.
[lib][libc] Update rand() algorithm
[libc] add srand()
[lib][cbuf] add code to let you intialize a cbuf with a static buffer
[lib][console] Reduce stack size requirement for console apps

- Move args array (256 byte) off stack
- check memory allocation results
- make max number of args #defined
- also free debug buffer
[lib][console] add echo command

echo off stops command line echoing. Nicer if you're trying to
drive the command line from a script.
[lib][heap] Added function API get_heap_stats()

Provide a mechanism by which software can acquire run time
heap statistics. Added parameters to heap structure to aid
in tracking heap low watermark.
[make] add -fno-builtin
[make] add new TESTANDREPLACEFILE macro

Split the MAKECONFIGHEADER macro into the part that generates
the header and the part that tests if you should replace the
target file with the generated one.
[make] add GLOBAL_SRCDEPS variable

Build a phony rule that depends on a delay evaluated SRCDEPS
variable at the end of the build so that modules that add to
it are properly tracked.
[make] fix a few rules.mk to use MODULE_DEPS instead of MODULES