Fix wielding items on pickup.

Looks like a few places were relying on adding something to the player's inventory, and then immediately relying on inv.size()-1 being the last item in order to remove the item form the inventory and do something with it.

Temporary patch, what I'd like to do is convert all the invlet-taking player functions in ones that take item references.

I'd also like to see if inventory::size is actually necessary for anything other than iterating over the whole inventory... Probably is, sadly (checking if there are available invlets, and all).