Show message when formally identifying whistles on use

e.g. When applying a tin whistle produces "a high whistling sound" the
identifying message given is "It must be a tin whistle!"

The new makeknown_msg() function should be used in a lot of other places
(with care given to message ordering), but for now whistles serve as a
good proof-of-concept for it.
Formally identify magic flutes and harps on use

Their unique improvisation messages unambiguously identify them.
Give message when fire/frost horn/drum of earth is identified by use

e.g. "You start playing the horn.  It must be a frost horn!"
Allow magic mapping of the Valley of the Dead

Nothing about either of the Valley levels warrants blocking magic
mapping.
Allow magic mapping of the last Dragon Caves level
Prevent magic traps from spawning above D:5

Certain effects of magic traps can instakill characters with low max HP,
so putting them off until D:5 should give them a chance to build up a HP
buffer to survive them.
Show percentage progress of skill training

e.g. If the long sword skill at basic is 20% of the way to become
skilled, the #enhance menu will show "long sword [basic] 20%".

Skills that have reached their maximum are tagged with "MAX", which
renders the "#" annotation redundant, so that's been removed too.
Increase effect of skills on weapon to-hit/damage (dNetHack)

Expert weapon skill now gives +5/+3 to-hit/damage (was +3/+2).

Expert two-weapon skill now gives -2/+3 to-hit/damage (was -3/+2).

Skilled riding now gives +2 to damage (was +1).

Expert riding now gives +2/+5 to-hit/damage (was +0/+2).

Restricted weapon skill now gives -5 to damage (was -2).

Overall, expert skill has been buffed a bit to justify its 3 slot cost,
and restricted skill has been further nerfed to push back a bit more
against characters using otherwise powerful weapons they're not supposed
to have any skill in, increasing role differentiation.