Cleanup player::use() and fixup iuse methods that depended on weirdnesses thereof.

This is mostly a cleanup, but it was triggered by the issue where placing traps doesn't consume the trap item.
It touches all tools though, so please review/test carefully.

Fixes #3633
Fixes #3850