Delay unswitch move until player spawns

Don't send player to smallest team if it is the winning team
Used GetPlayer instead of inline code
Added detection for admin kill

Otherwise a player killed by admin as part of an unswitch
might get selected for autobalancing!

Fixed GetTeamDifference returning negative values