ErrorClassDescriptor moved to ErrorUtils
TypeConstructor's equality for classes relies on FqNames

This is needed because different modules/libraries may define classes with the same FqNames, which may be identical or slightly different.
 Such classes must be considered equal, because your dependencies may rely on different packagings of the same codebase, and the classes there will be distinct though identical
  (think intellij-core vs idea-full).
Error types should not be compared by FqName
Enabling creating different descriptors for different Java classes