replaced isSubtypeOf implementation by a more OO-ish design, using ITypeVisitor to load a Subtype class dynamically for any specific type class. Inspired by the object algebra design
Removed dead constructor
Added public constructor
fixed bug in subtype of ADT (forgot about parametrized ADTs)
including computation of lub in Visitor design. not finished yet.
(intermediate) redesign
fixes
halfway through refactoring again!
more fixes
progress
fixed some issues
working to fix compilation issues
fixed more issues
Merge branch 'master' into refactor-subtype

Conflicts:
	src/org/eclipse/imp/pdb/facts/impl/fast/ListRelationWriter.java
	src/org/eclipse/imp/pdb/facts/impl/fast/ListWriter.java
	src/org/eclipse/imp/pdb/facts/impl/fast/RelationWriter.java
	src/org/eclipse/imp/pdb/facts/impl/fast/Set.java
	src/org/eclipse/imp/pdb/facts/impl/fast/SetWriter.java
	src/org/eclipse/imp/pdb/facts/impl/fast/ValueFactory.java
	src/org/eclipse/imp/pdb/facts/impl/reference/ListOrRel.java
	src/org/eclipse/imp/pdb/facts/impl/reference/Map.java
	src/org/eclipse/imp/pdb/facts/impl/reference/Set.java
	src/org/eclipse/imp/pdb/facts/impl/reference/SetOrRel.java
	src/org/eclipse/imp/pdb/facts/impl/reference/ValueFactory.java
	src/org/eclipse/imp/pdb/facts/type/RelationType.java
	test/org/eclipse/imp/pdb/test/BaseTestRelation.java
Merge branches 'master' and 'refactor-subtype' of https://github.com/impulse-org/pdb.values into refactor-subtype
Added missing 'is<Type>()' methods.
Implemented 'isTuple()' in terms of 'isFixedWidth()'.
Fixed AliasType.isSupertypeOf(Type).
Fixed ListType.toString() and SetType.toString().
Fixed 'Type.isStrictSubtypeOf(Type)'.
Fixed ValueType.lubWithValue(Type) and NodeType.lubWithNode(Type).