Rework the inventory letter(invlet) assignment system.

Instead of relying on item.invlet to store the preferred letter for an item, we now cache the preferred letter in the inventory.

This commit also fixes several locations in the code where inventory:additem should have been called with keep_invlet = true. This caused a bug where items would appear to have a different letter than they actually had, which only didn't happen often because items tended to keep their assigned invlet.
Add detailed instructions for translators.
Update .pot file.
Serbian translation (sr_SR) initial commit.
Removed remnants of wood shield.
Fixed display of damage adjective
Merge translation instructions, initial serbian translation, cleanup wood shield remnants, and fix item damage label display.
Merge invlet cache.
Reformat some code in game::load().
Save and load invlet cache.
Merge commit 'f9073b9' into add_item_oob
add_item_anywhere: drop to existing sub, spawn tmp map for
non-existing subs
add_item*: return success