Add joinable boolean check to team.BestAutoJoinTeam

Added check to see if the team is joinable when using team.BestAutoJoinTeam(). team.SetUp includes the boolean isJoinable as the 4th argument, defaults to true. Useful to have a check for if it is false
Added Player:GetUserGroup(), tidied up docs in player_auth.lua
Move ply.IsFullyAuthed to where it sets usergroups. Prevents ply:Is/GetUserGroup() returning a bad result, also gives admin mods more flexability if they want to deal with non authenticated players differently.
Added util.GetUserGroups() - Gets SteamIDs from users.txt table.
TTT: Fixes issue with spectating players at prep

If a player spectates during prep they will be spectating that prop if they die before the round restarts. This calls PROPSEC.End on players who currently have a propspec table during the start of a round, it must also be called after aborting is not possible because we don't want to boot people out of spectator when the round isn't going to start anyway.
Added net.Read/WritePlayer & adjusted entity bits.

Considering the max entity count is only ~8096, sending 32 bits for it seems a little excessive. So let's use 16 bits instead, that way we get between 0-65534, align to nearest byte for simplicity.
Players are indexed from 0, MaxPlayers so it can't exceed 128, align to the nearest byte gives us 8 bits.
Just a little optimization.
Fix send.txts according to my latest changes

Missed this, sorry.
lowercase everything
Added new line symbols to all ErrorNoHalts

Added new line symbols where they were missining
Rename TTT SENTs, SWEPs and effects

Also, removed all instances of self.Entity
Added table.GetKeys( table )
TTT: Revert ironsight changes

Changes to MAC10 and M16 ironsights made in #598 / 046b3d5 made those
sights significantly worse for players who disabled the "lower
ironsight" option.
TTT: Prevent propspec fix from breaking spectators

Propspec fix in #568 was resetting the propspeccing players too late.
PROPSPEC.End() will return the player to a freeroam spectator state, but
the reset was occurring after the players had already spawned for the
round, leaving them in a broken state.
table.GetKeys PERFORMANCE
Player:SetUserGroup is serverside only
TTT: New attempt at propspec fix

Seems there were still problematic cases created by 6aaed736 (see #610),
so this replaces it with a different fix.

The original issue was that players who propspec during prep remained
linked to that entity if they became spectator later during the round.
Rather than trying to clear that linkage for all players when the round
starts, we now clear it in a safer way whenever a player spawns.
Update overlay.lua

Apparently for some reason I had old version of this file, with broken path.
Removed net.Read/WritePlayer

Hail the almighty vinh overlord.
TTT: bump version number

To let people who update to the version of the 22nd that they should update for the spectator fix.
Added OS X and Linux icons.