GROOVY-6992: Added support for collecting over sets

Pull request for https://jira.codehaus.org/browse/GROOVY-6992.

Collecting over sets without passing in a collection to add to returns a list.  We really want it to return a set.  

I added support for this to DefaultGroovyMethods for a set using the default set of LinkedHashSet.  I noticed this was used as the default.  It worked for HashSet too, but I have kept the current default.  I initially tried TreeSet, but this class is broken in Java and should always require an ordering operation for elements.

A warning, this may break existing code that relies on collecting over a set returning a list.  For this behaviour, toList() can be called either before or after the collect method.