Add space after function-like macro expansion

Add a space after expansion of function-like macros to avoid extension of
tokens as in this pathological example:

f(a)b

formerly became "ab" which is wrong because it creates a new identifier
where it shouldn't. Instead if should read "a b"... which it does now.

This problem does not exist with object-like macros as they're are already
known to be delimited identifiers. This phenomenon is wanted with #subst.

`upp' was changed to accept stuff from stdin so that I can test better and
it mimics `cpp' in this regard.

I outlined a point about why I don't use external libraries (such as libcpp)
in the README.