Refactor data access with blackboard
The initTree() name confuses a lot of people -> Decided: distributeData()
The blackboard access in nodes is an overly long name and not always consistent: lookUpSymbolsInBlackBoard() in nodes and lookUpSharedSymbols() in conditions. --> Decided: registerData() and lookupData()
**ADDITION: ** During renaming we found out that the separation of registerData() and lookupData() is not needed anymore & does not bring any benefit. This could be alligned to one method registerAndLookupData(). This also allows to remove the BlackboardWriter and BlackboardReader and use just one base class. The restricted access of BlackboardReader can be expressed then with a simple const