Refactor CompileKotlinAgainstKotlinTest

CKAKTest is now abstract, the actual testcases are generated via GenerateTests
into CompileKotlinAgainstKotlinTestGenerated.

Also invokeMain() now invokes namespace.main instead of bbb.namespace.main.
Fix codegen of loaded class objects

Remove useless check and todo.

 #KT-2717 Fixed
 #KT-3142 Fixed