Change ClassInfo.modifiedExpandos from being a HashSet (strong references) to a ManagedLinkedList (weak references)

There doesn't seem to be any reason to hold strong references in ClassInfo.modifiedExpandos and that causes a leak, so change to use weak references.

See http://groovy.329449.n5.nabble.com/Memory-leak-in-ClassInfo-when-using-MetaClasses-tp5719218.html