Fix digraph %:%: bug.

Digraph %:%: was not recognized as ## by the preprocessor.
Simplify.
Fix error message for unterminated character literal.
Add a comment about digraph tests.
Do not preserve the number of spaces before a token.

8cc preserved the number of spaces before a token, so that
8cc -E outputs the same number of spaces betwen tokens.
That feature doens't worth the code complexity that introduced.
Rename read_cpp_token -> lex.

read_cpp_token was named as such because it's intended to be
called by the preprocessor. But it's easy to be confused as an
exported interface of the preprocessor.

lex is obvious that it's an interface of the lexer.