Improved muting, added more saved data, +fixes

Improved the mute admin tool functionality. A player can be muted for
-1 seconds which means permanently. Mutes now save to a player's account
so relogging isn't a way to get out of mutes. This combined with the -1
duration means a player can be permanently muted from global chat.

Added a time left to mute notifications, so a player knows how long it
is before they can talk again or of they are permanently muted.

Moved all knockout related code to the knockout script. This means the
player data bit "KnockedOut" no longer exists, IsPlayerKnockedOut is to
be used instead. Fixed some issues with knockouts and added a
GetKnockoutRemainder function that returns the amount of time left a
player is to stay knocked out.

Added saving of knockouts to user account. Logging out is no longer a
way to stop a knockout as the remainder is saved and re-applied on
login.

Added destroying of progress bars on disconnect, this was causing an
issue with progress bars not showing to new players after the slots have
been used up.

Updated the MsToString function to the padding version (I forgot about
that version and it was left on my blog for a while)