first steps to break down mapType (and fix #KT-3771 properly)

Changes are first step towards break down of the mapping procedures.
Dependencies are not completely untied (and left explicit on purpose).
But at least further re-factoring opportunities can be recognized.
Rationale for changes is to extract mapping of Array<>s so to continue work on KT-3771   
All Compiler Tests pass.