Fixed bug GROOVY-6778

The string "-d" is being used to escape dashes. Thus, converting all dashes to "-d" must be the first replacement that is done (it was) and converting them back must be the last (it wasn't). The bug resulted in the following erroneous conversion:

"-n" -> "-dn" -> "-n" -> "?"
GROOVY-6836: If joint compilation is active *and* that @CompileStatic is used with @Immutable, metaclasses are mixed
groovy-ant part of PR#456
GROOVY-6969: Set.flatten() should return Set
Merge pull request #493 from yukoba/SetFlatten

GROOVY-6969: Set.flatten() should return Set
GROOVY-6970: Type checker should be able to choose between two equivalent interface methods
GROOVY-6849: In case of ambiguity, type checker should be able to choose between an extension method and an interface method
Added missing documentation to BenchmarkInterceptor.java
Added javadoc comments to several Meta* classes
Fixed compilation warnings for javadoc
GROOVY-6971: try to improve performance of GeneratedMetaMethod.Proxy#proxy()