Mirth and melancholy fixes, shadow form fix and recast on self.

Fix for mirth/melancholy ModifyHitRoll and ModifyDamage bugs, and shadowform ModifyDefensePower bug. Functions that are called by GetOffense and related functions in player.kod all need a sanity check for what = $. Mirth/melancholy now give 1-100 hitroll based on spellpower rather than a flat 100.

Shadowform is now recastable on self, couldn't find a reason for this not to be the case as there doesn't seem to be any bugs related to having it work this way (including interactions with illusionary form).