Manually implement scopes for ModuleSourceInfo

This allows for a faster contains(VirtualFile) check
Compute builtins directory url only once
Minor: Convert PackageIndexUtil to Kotlin
Minor: rename and refactor PackageIndexUtil#containsAny()
Cache result of getAllPossiblePackageClasses()

Move this utility from IDELightClassGenerationSupport to PackageIndexUtil
Minor: convert CopiedCode to Kotlin
Minor: remove some redundant not null assertions from Kotlin code
Do not store psi in CopiedCode

It is transferable and can exist even if project is closed