Don't use $ in package fragment class names

Package fragment classes now are named "*Package-<filename>-<hash>" instead of
"*Package$src$<filename>$<hash>". This helps to avoid erroneous code in
intellij FileManager, which assumes that classes with dollars are always inner
classes of some other class. This, in turn, allows to throw out a nasty hack in
AnnotationDescriptorDeserializer to find a package fragment near the facade
Fix tests