added generic buffer, added tkn grps

Added the Buffer template class that generalizes the cases of SourceBuffer and
TokenBuffer. Added the TokenGroup class which is used in the parser stages to
group up tokens. Uses the new Buffer template to create a token hierarchy. The
parser does nothing at the moment.
added first parsing stage

Parser groups tokens into paranthesis and brackets as a frist stage. This
should facilitate further parsing. No tests in place yet.
added documentation
rearranged vhdl tests

Split the VHDL tests up into lexer and parser tests, which are automatically
collected by the CMakeLists.txt file.
removed obsolete dev.cpp test
changed bookkeeping in diagnostics

Diagnostics now keep track of the number of fatal, error, warning, note, and
fixit messages contained within them. The DiagnosticContext implements getters
that check the severity of the diagnostics contained: Fatal errors, errors or
worse, warnings or worse.
added diagnostics type doc

Documented the DiagnosticType numerator and added a doxumentation file for the
root namespace `llhd`.
split up vhdl parser code

Moved the parseFirstStage() and parseSecondStage() functions of the VHDL parser
into corresponding files. This should make things a little easier to read.
added grammar snippet to parser

Added an extract of the VHDL grammar to Parser-second.cpp that shows which
parts of the grammar are to be implemented in this file.
started work on parser implementation

Implementing the parser is harder than expected, since the grammar is somewhat
convoluted. The parser code might become fairly complicated in order to cater
for all possibilities.
added assembly lexer

Added the AssemblyLexer class which parses LLHD assembly code into tokens. The
next step is to write the parser that turns this stream of tokens into an in-
memory representation.