[WIP] Item access refactor

See #9517
What I forgot about contents of items: sometimes one wants to remove the item *with* contents (e.g. because it has been picked up), sometimes one wants to erase only the container, but keep the content (e.g. when the item has been destroyed by fire or acid). This could be implemented by a (optional) parameter.