Improved /country, added /ip commands

Both these work on names for offline players or IDs.
Hotfix for defence keypads

Fixed a return value that caused OnButtonPress to cancel the next call.

Fixed the password checking that was accidentally nonexistent in the
last commit.
Fixed some dialogs

Added returns for no response so the dialog closes.
Fix for drug effects not disappearing on death
Secondary overhaul to damage mechanics and combat

DefineItemWeapon parameters are changed now, instead of each melee
weapon type having a constant "kotime" (which would unintentionally
stack with wound infliction knockouts) they have a KO chance multiplier.

The KO chance multiplier is a new value in the damage formulae that
modifies the base chance to get knocked out from a wound. This value is
represented in hundreds, where 100 is no change in chance, values below
reduce it and values above raise it.

Wound infliction now removes small chunks of blood based on the initial
bleedrate of the wound.

API:
All damage related callbacks have changed. They no longer return a
bleedrate modifier but instead just a 1 to cancel the wound or a 0 to
continue executing. Two new functions were added to each damage module
to manipulate the bleedrate and knockout multiplier. You can see this in
use in the shield and armour scripts.

The Stun Gun item now has an effect, it has a 0 knockout multiplier
meaning there will be no wound-infliction-level knockout. The knockout
for this weapon is always 60000ms and is called from within the damage
callback which cancels wound infliction resulting in no bleeding or
wound inflicted at all.

Some minor fixes include removing knockouts properly after death and
some changes to explosive events.