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
Fixed text changing in text entry

When updating from history or from the menu, the proper function(s)
is/are being called now, to allow autocomplete support and
callback/event support.
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.
Move GM hooks to where they belong

* Removed GM:PlayerDealth from cl_init since it's never called there
* Moved GM:OnPlayerChat to cl_init since it's a clientside only hook
* Made GM:GravGunPickupAllowed shared
* Moved GM:CanPlayerUnfreeze to to sandbox/player.lua since it's
serverside only function
* Moved GM:PlayerAuthor to serverside
* Removed GM:CanPose, GM:CanRender, GM:CanConstruct and GM:CanConstrain
since they are never called at all
* Removed GM:GetVehicles because there is no reason for it to exist, it
is never called and it serves no purpose
* Made so that the vehicle camera doesn't collide with anything but
world, this is to prevent third person fucking up when you have attached
props to the seat
Updated/Fixed swimming animations

* Fixed "normal" holdtype animations
* You no longer swim when you are standing underwater
* Swimming animations are not less glitchy.
Fixed bug with ToyTown

The say the bottom part was drawn caused a weird line to appear in the
middle of the screen.
Merge pull request #532 from vercas/master

Fixed text changing in text entry, fixed bug with ToyTown
Fixed main menu not having focus when created
Merge pull request #589 from robotboy655/realm

Move GM hooks to where they belong
Merge pull request #590 from robotboy655/water

Updated/Fixed swimming animations
Fixed crash exploit with wheel too.
Merge pull request #591 from robotboy655/wheels

Fixed crash exploit with wheel tool
Removed all SWEP.AdminSpawnable traces

It is not used anymore, we use SWEP.AdminOnly.
Removed useless crap from weapon_base
Merge pull request #594 from robotboy655/sweps

Removed useless code from weapon_base and TTT sweps
Fancy game names for spawnmenu

To be consistent with "All" and "Garry's Mod".