lexer now emits diagnostics

Added the possibility for the vhdl::Lexer to emit diagnostic messages. This is
necessary since a few characters are actually not allowed in VHDL source code,
especially when using pedantic mode.
more grammar implemented

Implemented more grammar rules in the VHDL parser. An improved input iterator
is required to efficiently parse the input tokens and capture common errors.
See the TODO.md for some details.