Fixed tests on android (file names escaping).
SerializedDataHeader now always has valid annotationData

This helps to avoid errors of checking 'instanceof SerializedDataHeader' but
forgetting to check if it 'isCompatibleKotlinCompiledFile'
Don't use $ in package fragment class names

Package fragment classes now are named "*Package-<filename>-<hash>" instead of
"*Package$src$<filename>$<hash>". This will help to avoid erroneous code in
intellij FileManager, which assumes that classes with dollars are always inner
classes of some other class (see AnnotationDescriptorDeserializer)
Increase ABI version after changes to package fragment names
Remove hack from AnnotationDescriptorDeserializer

Now that package fragment classes are generated to "*Package-filename-hash", we
can use virtualFileFinder to find such classes by FQ name. Support
KotlinPackageFragment annotation, by which VirtualFileFinder will determine
that a class was compiled by Kotlin compiler
Make an abstraction over VirtualFileFinder

Java descriptor loader now can work with KotlinClassFinder, which finds
abstract KotlinJvmBinaryClass'es: they are based on VirtualFile in the
compiler/IDE and will be based on j.l.Class in the reflection
Make annotation deserializer not depend on VirtualFile & ASM

KotlinJvmBinaryClass now has its own visitor interfaces, which are an
abstraction over ASM visitors and the ones that will be implemented over
reflection
Change KotlinClassFileHeader loading interface

It should be able to load the header based on an abstract KotlinJvmBinaryClass,
not only the VirtualFile-based one
Delete getFqName() method from KotlinClassFileHeader

It's not related to the header. Add getClassName() method to
KotlinJvmBinaryClass, which reads the internal name of the class
ReadDataFromAnnotationVisitor doesn't depend on ASM anymore
Make compiled package fragments not show up in completion, go-to, etc.
Report ABI errors on KotlinClass, not VirtualFile
Removed hack.
Update sources when updating kotlin runtime
JPS plugin: remove unnecessary  method KotlinSourceFileCollector#hasDirtyFiles.
JPS plugin: make the code more understandable -- added some comments and rename scriptFile to moduleFile.
JPS plugin: add support external compilation for JS modules.
Update KotlinMavenConfigurator.java

Update Maven version in Configurator
Merge branch 'master' into idea12

Conflicts:
	jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilder.java