Templatize inventory item removal functions and standardize naming.  Use
position-based item-identification to break most of advanced_inv's use of
invlets.
Notes: Most item related functions should be able to take 3 types of
locators--an invlet character, a position in the inventory, and a typeid.
This commit sets the pattern I'm going to use elsewhere--write an internal
function templated on type of locator, and have the 3 public functions
invoke it.  If most accesses can be moved off of invlet, invlets become
optional.