Add an EnumSetIterator and EnumSet::iter
Move most iter functionality to extra, fixes #7343
auto merge of #7474 : Seldaek/rust/clean-iter, r=thestinger

I think it's WIP - but I wanted to ask for feedback (/cc @thestinger)

I had to move the impl of FromIter for vec into extra::iter because I don't think std can depend on extra, but that's a bit messed up. Similarly some FromIter uses are gone now, not sure if this is fixable or if I made a complete mess here..