fixed bug

NULL_FOR_NONNULL_TYPE can represent type mismatch error as well
(later the whole method 'makeTraceInterceptingTypeMismatch' should be removed)
test added
removed ConstraintSystemWIthPriorities
refactoring: extracted methods
extracted ConstraintSystemStatus
refactoring: moved 'getValue', 'getValues' methods to TypeConstraints
refactoring: moved methods