GROOVY-6869: Move collate() and permutations() from List to Iterable
GROOVY-6920: Add disjoint, minus and toSpreadMap to Iterable

Added these methods to Iterable.
disjoint(Iterable)
minus(Object)
minus(Iterable)
toSpreadMap()

Added this method to Collection.
minus(Collection)
minor refactor (clean up imports)
Merge pull request #476 from yukoba/DisjointMinusToSpreadMap

GROOVY-6920: Add disjoint, minus and toSpreadMap to Iterable
GROOVY-6929: Fix NPE with map constructor calls and setter only