A Type is an Array if it has >0 dimensions
Added methods to Type to get the number of dimensions and to check if it is a baisc type
Added type propagation to atom and the needed errors
Two types are equal if they have the same name
Improved the method to check is a basic type
Type propagation for mult_expr and line and pos propagation for it, atom and constant
First version of expr type propagation finished, needs testing
Fixed some issues, extensive testing needed
Test case to test type propagation
Fixed the detection of if a expresion has a right side. When operating with a first derivate Type and a basic type we return the derivate type.
Full type test case and actualised todo
Added error when calling the first dimension of a 2 dimensional array
Merge remote-tracking branch 'origin/master' into type_propagation

Conflicts:
	tiger.g
expr can be a function
Changes to testcases so there are no more erros for type propagation. Removed a testcase
Removed unused test and fixed a negative test.