Add an item method indicating how often an item should be updated.
Hoist active item cache to its own module.
Implement a system where active items are processed periodically instead of every turn.
Only set comestibles active if they can go bad.
Patch in a version of item_stack::push_fast for use in the active item processing code.
Remove redundant needs_processing() check.
Unset active flag on comestibles that don't or are already spoiled.
Reduce rate at which zombies are checked for revivication.
Remove items from active_item_cache based on whether they are in the cache, not whether they are marked active.
Copy items instead of moving them when rotating submaps to prevent invalid accesses in map::i_clear().
Fix missed scoping in mapgen.
Don't mess with active item cache manually in map rotation code.
Use a raw pointer to identify an item_reference.

Used when we need to determine whether an item_reference has been
invalidated by item processing side effects, it's safe to compare
invalidated pointers to each other, iterators not so much.
Merge pull request #10599 from kevingranade/i_at-overhaul

Update active items periodically instead of constantly.