Add TESTHEADERS variable to Makefile.ac

Header files that are used for testing only are now categorized
separately. It was confusing for these headers declared in arbitrary
*_SOURCES variables.
Add M macro

The definition of the L macro is changed to allow the L(M("..."))
pattern.
Add Message template class
Change addDiagnosticMessage argument type to Message

With String, we cannot translate the diagnostic message later.
Make CLocaleEnvironmentStub inherit BasicEnvironmentStub virtually

Virtual inheritance is needed to allow multiple inheritance from several
stub environment classes that share a single BasicEnvironmentStub
subobject.
Add DiagnosticMessage class
Add DiagnosticMessageTestHelper
Add DiagnosticEnvironmentStub class
Remove TODO flag from AndOrListParserTest

AndOrListParser itself produces no diagnostic message. Hence no more
tests needed.
Remove unnecessary branch from PipelineParser::parse
Make PipelineParser report syntax errors