added info about smart casts to diagnostic tests
changed tests where autocasts aren't needed but are reported
due to KT-4294
don't report unnecessary smart cast on receiver
don't use data flow info while checking for receiver
receiver with smart cast is checked separately
refactoring: removed AutoCastService
used getAutoCastVariantsIncludingReceiver util method instead
rename:
getAutoCastVariantsIncludingReceiver -> getAutoCastVariants
getAutoCastVariants -> getAutoCastVariantsExcludingReceiver
while resolve 'equals' as a fake call do not throw away temporary trace
rename: checkReceiver -> checkReceivers
Check separately auto casts for nullable types.

It's necessary for functions with generics: constraint system ignores nullability divergence,
the error checks are made afterwards, the auto cast check should be made similarly.
refactoring: extracted 'recordCastOrError' method
don't report autocast on left expression in equality
if it was checked for not-null beforehand
fixed bug in 'DataFlowInfo.getPossibleTypes'

parent types should be enriched as well
fixed: smart cast of boolean variable didn't work in boolean expression
added test for obsolete task
 #KT-2336 Fixed
Rewrite class to Kotlin: temp commit for store history
Rewrite test to kotlin and add use Json format for tests configure
Fix Android tests
Make Android test load files with diagnostics
Do not cast arguments of binary operation to expected type for byte and short
Rename parameter