Removed scope.hpp/scope.cpp. They will be recreated as partial copies of module.hpp/.cpp
Moved `module' to namespace model
Added class `scope', which is the new base-class for all "active" parts of the model
getContext (), getModule () and getParent() are now part of the base class `entity'
Every entity must have a parent passed in the ctor (this will be changed in the next commit)

WARNING: Tests are broken with this commit. They will be fixed in the next one.
Added the class 'scope' as a new base-class for statements, etc.
Added the concept of 'components' for entities - components are sub-entities of an entity. For example, a variable's initialization expression is a component of the variable_declaration_expression. Or the function parameter expressions are components of the function_call_expression, and so on.
Removed the necessity to provide a parent to entities in the ctor - the parent will be set as soon as the entity is used as some kind of component of another entity.

There are a lot of unit-tests to add - see "missing tests.txt".
Marked all abstract classes as abstract in the docs.
Every class deriving from entity that is not abstract got a new getDomain()-implementation.
Added missing domains and unit-tests for all the getDomain()-functions.
The literal that is used in an literal_expression is no longer a component of the literal - this was false, because the literal_expression does not necessarily become the parent of the literal.