Added external iterators for SmallIntMap and SmallIntSet

Adding iterators for extra::smallintmap

Working on mutability error

Ran into ICE

More mutability problems

Working through mutability issue

working on getting tests passing

SmallIntMa tests passing

Added SmallIntSet iterators, and the tests are passing

Stripped trailing spaces

Removed extra use directive
auto merge of #7614 : MarkJr94/rust/smallintmap_enum, r=huonw

Added external iterators as well as tests to SmallIntMap and SmallIntSet. Fixes #7366