This patch avoids the initial memset at the cost of making iterators
slightly more complex. This should be beneficial as most SmallPtrSets
hold no or only a few elements, while iterating over them is less
common.
It's not a measurable change in compiletime but valgrind/callgrind shows saving of ~0.25% instructions in my tests.