oprops: Fix prefixing of rings, wands, spellbooks, iron balls

Some of the naming cases for these item types were nuking prefixes like
"magical" and "prize" because they were replacing the in-progress name
buffer instead of appending to it.
oprops: Show "magical" item prefix as long as unknown properties exist

e.g. If you found a 'knife of stealth and reflection' and wielded it to
discover the stealth but not the reflection, it would previously show as
a 'knife of stealth', but now it shows as a 'magical knife of stealth',
and only loses the 'magical' once its reflection is known too.

This also grants the opportunity to remove crufty naming logic from
GruntHack, which had the ability to identify magic on items separately
from its object properties and was never ported to DynaHack.