Standardise plugin checks

Shine:IsExtensionEnabled( Name ) returns true and the plugin table if
the plugin exists and is enabled, otherwise returns false.

Also, the workshop updater plugin now denies map extensions as an option
in map votes if a mod is out of date.
Typo correction, and override sv_say with sh_say

If you want to override any stock console commands, add a hook to
"NS2EventHook", and return true and your replacement function.
Interp/move rate commands

for on the fly adjustment.
Pregame start delay setting

Allows you to force delay game start for a set amount of seconds after a
map change to allow players to load.
Per-command argument restrictions and small fixes

- Can set argument restrictions for string and number arguments only.
- String arguments should be either a single string, or an array of
strings that the rank can use in the command.
- Number arguments should be a table with a "Min" and/or "Max" entry
that restricts the range of the argument.
- User data format is a table entry instead of a string entry in the
"Commands" list for the rank.
- Fixed pregame "waiting for players to load" message persisting after
the plugin is unloaded.
- Fixed unloading the tournamentmode plugin causing error spam and not
preserving previous auto-balance settings.
Per map round limits

Same as time limits, add a "rounds" or "Rounds" entry to the map's table
entry to override the round limit for that map.
Blacklist group typo

Missed a not.
Added ForceMapvote and ForceMapvoteAtRoundEnd

Added those values to options:

ForceMapvote: Starts a Mapvote if a mod gets updated
ForceMapvoteAtRoundEnd: Start a mapvote at rounds end if a mod gets updated
Merge pull request #317 from BrightPaul/patch-1

Added ForceMapvote and ForceMapvoteAtRoundEnd
Fussy style change
Account for reserved slots in server switch menu

It will now display the max with reserved slots accounted for.
Reopen #293

Reopen to get rid of utf8.lua

Will add a wiki entry in time.

Old pull request: https://github.com/Person8880/Shine/pull/293
Arg

I should have looked when it was pulled to master.
Account for disconnecting clients

in reserved slots. Also utf8.lua decided it wanted to be seen and put
itself in this commit.
Merge pull request #318 from BrightPaul/patch-2

Reopen #293
Stylistic changes and a few bugs fixed

with the round limiter plugin.

Fixed it not always removing the round timer, for instance, if the round
was reset.

Also fixed it showing one too many notifications (now shows exactly
WarningRepeatTimes messages, rather than +1).
Merge pull request #321 from Person8880/develop

Round limiter, per command access restrictions, other fixes/small requests
Fixed wrong tag update

Client seems to be allready removed out of Shine Client table when Plugin:ClientDisconnect is called therefor the " + 1 " is not needed.

Strangly this is different at a local server.
Counting errors for vote surrender fixed

GetEntitiesForTeam() returns only alive players (how useful, not), and
I'm assuming Player:GetClient() returns nil often which broke the code
removing a vote from someone leaving the team.
Merge pull request #322 from BrightPaul/patch-3

Fix for last update of reserved slots.