HAD TO introduce new sub-project compiler.common, because...

1. StringSymbol now contains Definition & Scope (which themselves will
contain SemAna-related stuff), would lead to cyclic dependency between
Lexer and SemAna
2. SymbolTable kinda belongs close to StringSymbol & StringTable (but
should NOT be part of the Lexer because it is clearly SemAna-logic)
3. we used StringSymbol and StringTable across all parts of the compiler
already, anyway! ...which leads to:
4. proposal: define at least the interfaces that describe the BOUNDARY
of a compiler-phase (e.g. TokenStream as output of Lexer) in THIS
project and REMOVE dependencies Parser=>Lexer, SemAna=>Parser, etc....
stages will work independently from each other and do NOT depend on
other stages data structures anymore.
Implmented SymbolTable and tests

...which I accidentally already added in the previous commit, sorry