Fixes: #10547
Adds warning for lava below

Granted, I've no idea why people blindly jump into strange places that overwrote the stairways, without any way of getting back up, but since they just keep doing it, I went ahead and added a safety check.
Add item_stack, a safe wrapper for accessing items on the map.
Make i_stacked a helper function in advanced_inventory.
Switch item accesses on the map to using the new item_stack.
Handle removing active items from the map properly.
Make some cata tiles functions handle new item accessors properly.
Fix building rotation.
Factor out item_stack as an abstract base class for map_stack to enable polymorphism.
Add a vehicle_stack subclass for handling items in vehicles.
Overhaul active and radio item processing to use item accessor wrappers.

Couldn't get it to work properly this way, it's just a checkpoint.
Next commit should make it work again.
Replace map and vehicle item vectors with lists.
Bugfixes.
Add an active item cache to the submap.
Hoist verification that an active item is still present to the map or vehicle specific handler.
Only iterate over items marked as active in process_items_in_submap.
Route vehicle cargo space interactions through accessors.
Hoist active item caching structs to a helper header.
Misc style cleanup.
Add active item caching to vehicle.