oprops: Fix "silently" segfault for unarmed attacks

oprop_stealth_attack() assumes that the attacking object is not null.

This is meant to go with commit 5303bd192a (oprops: ID stealth weapons
on hit, put "silently" in hit messages).
Make Demogorgon wait for you before asking for a bribe

This prevents Demogorgon from warping next to you immediately upon
entering his level, giving you a chance to get money out to bribe him.

This is meant to go with commit e1df73b055 (allow Demogorgon to be
bribed).
Changelog: No negative AC/half physical dmg for fire/cold/shock/acid

Due to how L's resistance patch restructured resistable damage, negative
AC and half physical damage resistance weren't being applied
consistently to elemental monster attacks, so this is the way I had to
fix that, but I forgot to note that in the changelog, so here it is.

I don't know if this was the right call; high AC beyond a certain point
is already barely useful and this only exacerbates that problem.  This
is definitely worth revisiting at some point.

This is meant to go with commit ab978a15c3 (eat/crowning-gained
intrinsics provide only partial resistance).
Give "silently hit"/"silently kill" msg for knives for stealthy chars

Stealthy characters that attack with weapons that use the knife skill
will also get "silently hit" and "silently kill" attack messages, like
weapons of stealth recently got.

For clarity, this way of attacking monsters without awakening nearby
monsters has existed since the feature was ported from SporkHack by
UnNetHack and in turn by DynaHack, but after years, players still don't
realize it exists, hence these hints in messages.