code reorg, sprintf family of functions, doc and tests updates

This is the new version of the code reorg. As requested:
 - new tests in test/ subdir
 - printf.* -> tinyprintf.*
 - keep a single tinyprintf.h for all functions, selectable through defines

I added a few doc updates and:
 - make C linkage explicit in the header
 - make sure gcc will warn when types/format don't match

None of this should break other compilers. I tested with gcc -ansi and -std=c89.