Rework #'si::hash-table-iterator and ancillaries to conform better to Traversal Rules (CLHS 3.6).