Generalize symboltable

These commits try to generalize the symboltable implementation, so that e.g. the Designer can be implemented language agnostic. This change should also be interesting for the other pull request (pmd#1) which introduces a new language including a symboltable implementation.