Deprecated user-exposed internal SPI, removed uneccessary utility method in ConstraintType.
Remove CypherType.isCollection
Use internal rather than scala-based heirarchy for types
Correct behaviour of merging type sets
Rename iteratedType on AnyType to legacyIteratedType

And use innerType on CollectionType
Stop TypeSet inheriting from Set[CypherType]

This allows for a more specific interface without the need to implement
all the methods of Set manipulation