32-bit enum sets and weak map improvements ### EnumSet - Added `BitSet32.of()` which accepts an iterable (!205) - Added `.toSet()` and `.toMutableSet()` (!205) - Added `enumSetOf()` and `.toEnumSet()` (#170, !206) - Optimized `enumSetOf(Foo.entries)` (!206) - Optimized 32-bit `EnumSet` (#170, !206) ### Weak - Added `WeakRef.isEmpty()` and `WeakRef.isNotEmpty()` (!207) - Added `WeakValueHashMap` (#178, !225) - Added `toString()`, `equals()` and `hashCode()` on `FakeWeakRef` (!225) - Documented the thread safety of `WeakRef` and `WeakMap` (#180, !225) - Added a wrapper for the JVM `WeakHashMap` (#179, !226) - Added a wrapper for the JS `WeakMap` (#179, !226) ### Dependencies - Kotlin 2.2.21