Some changes to the preprocessor and to strings

We now have local strings again that work.  A string with a \n now has
a EOL char.  putc and puts both work and printf works without the
format specifiers