Tests: Factor LoggerMock out in own class.
Makefile: make beauty now targets unit tests too.
Parser: Prepare for unit testing.

* Argument 'start' is now supplied by caller, in order to
  enable testing of individual grammar rules.
* Omit default value for 'debug'
Lexer: Make panic recovery more verbose.
Tests: Refactor functional tests as unit tests.
Lexer: Refactor lexing of string literals.

* Split lexing of well-formed strings from lexing of malformed ones.
* Allow empty string literal.
Tests: Beautify unit test code.
Error/Tests: Replace DummyLogger with LoggerMock.
Tests: Refactor and expand unit tests of lexer.

* Rename 'failed' to 'failure'.
* Add unit tests for lexing comments.
* Expand cconst testing.
* Peel testfile.
Merge branch 'master' of github.com:dionyziz/llama into testlexer

Conflicts:
	ptest.sh
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.
Error: Align interfaces of Logger and LoggerMock.
Main: Simplify test for exit status.
Makefile: Rename testpath.
Lexer: Fix bad regex.
Tests: Add unit test for empty char literal.
Error: Abstract common Logger interface.
Lexer: Report only one dummy token per malformed char/string literal.
Tests: Convert last lexer functional tests to unit tests.
Lexer: Ignore more aggressively; exclusive states are only for recovery.