FIX: inconsistent invlets in 'i'nv or 'E'at, FIX: disappearing / de-categorizing items after consumption.

Inconsistent invlets: corrected within filter_by_category() with the use of clone_stack(), which makes an -exact- copy of an item, instead of putting it through the add_item() invlet reassignment wringer for no good reason (filter_by_category is a display filter)

Post-consumption category screwups: corrected by sorting after restacking, instead of sorting then restacking (which throws new half-drunken water bottle to the end).

todo (another pr)
  filter_by_category: bad display filter kludge for inventory_ui functions which iterate the storage list directly
  sort: troublesome workaround for inventory_ui functions which iterate the storage list directly
  inventory_ui: solution: exterminatus.