Bug 890210 - weak set raises an exception when iterate values already gc'ed

- Fix issue with value already gc'ed
- Added weak-set test suite
- Addressed review's comments