[READY] I at overhaul MK II

This implements BevapDin's suggestion of a wrapper class that allows callers to modify items on the map easily without exposing direct access to the underlying container.
It got completely out of control, now each submap and vehicle maintains a list of iterators to their active items and iterates across that instead of across every item.

fixes #9917 
Addresses some of #10269 (shouldn't trigger auto-close of the other issue)