Tests: Refactor and expand unit tests of lexer

* Rename 'failed' to 'failure'.
* Add unit tests for lexing comments.
* Expand cconst testing.
* Peel testfile.
Lexer: Rewrite lexing of char and string literals.

* Spell out regexes for easier checking/fixing.
* Lexing of well-formed literals is done entirely in INITIAL state.
* Lexing of malformed literals is simplified.
* Drop error reporting for multiline char/string literals.
* Only one error message is emitted per bad literal.