2nd Level unfold SetBasisChecker.
new visitor SetTypeFinder
1st level of new visitor RecordTypeFinder.
Merge remote-tracking branch 'origin/astv2-pvj' into assistant-rewrite
2nd level unfold RecordTypeFinder
new visitor RecordBasisChecker
new visitor ClassBasisChecker
new visitor, only 1st level unfold, ClassTypeFinder.
Unfolding 2nd level ClassTypeFinder
new visitor ProductTypeFinder complete
new visitor ProductBasisChecker
new visitors come from method getProduct and isProduct with single parameter.
new visitors FunctionTypeFinder,UnionBasisChecker
Changes from static to non static calls.
new visitor UnionTypeFinder.
new visitor TypeEqualityChecker
new visitor completed TypeDisplayer.
1st level unfold of new visitor TypeUnresolver
2nd level unfold TypeUnresolver.
new visitor NarrowerThanComparator.
Merge remote-tracking branch 'origin/kel/astv2' into assistant-rewrite

Conflicts:
	core/typechecker/src/main/java/org/overture/typechecker/visitor/TypeCheckerExpVisitor.java
	core/typechecker/src/main/java/org/overture/typechecker/visitor/TypeCheckerOthersVisitor.java
Add unimplemented methods
Merge remote-tracking branch 'origin/kel/astv2' into assistant-rewrite
made the type wider using the ast generated interfaces
extracted the set state out from the generation of implicit pre and post definitions