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.
Merge pull request #603 from robotboy655/master

Multiple small changes
Merge pull request #512 from rtlk/master

Add joinable boolean check to team.BestAutoJoinTeam
Merge pull request #549 from HandsomeMatt/player_auth

Added Player:GetUserGroup(), tidied up docs in player_auth.lua
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
Merge pull request #607 from robotboy655/ttt

TTT: Rename SENTs, SWEPs and effects from folders to files
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.
Merge pull request #568 from OzymandiasLlewellyn/ttt_spectator_fix

TTT: Fixes issue with spectating players at prep
Merge branch 'master' of github.com:garrynewman/garrysmod
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