Don't allow fake override to inherit implementation with wrong return type

 #KT-4763 Fixed
Don't report "cannot infer visibility" on property accessors

If the diagnostic is already reported on the corresponding property, no need to
report it again for accessors
Render the descriptor in "cannot infer visibility" message

Otherwise it's unclear what member is problematic if it's a fake override
(because the diagnostic in that case is reported on the whole class)
Prohibit implicit overrides with lesser visibility

A non-abstract super-declaration is allowed to stand as 'an implementation' of
a fake override only if its visibility is not less than visibilities of all
other super-declarations

 #KT-2491 Fixed
Minor, fix "visibility modifier" positioning strategy for objects

It's not reproducible at the moment, but will matter if more diagnostics use
this positioning strategy
Minor, don't create unnecessary map in OverrideResolver