Prevent displaying remote servers on startup of LAN servers browser

After startup of LAN servers browser there appeared sometimes also remote
servers, instead of only LAN servers.
I such case "si.lastpingmillis=servermenumillis" for all remote servers.
So this commit changes a little existing condition, to prevent above
problem.
Drop activated grenade, when player switches to edit mode
Turn off sniper rifle's scope during intermission
Disable listdemos and getdemo in singleplayer
Removed unnecessary restrictions of switching to SPECTATOR team

Note: spectate() function doesn't have such restrictions.
print more version info during init

also fixed parsing the audio device string
remove non-thread-safe function call

conoutf can't be used from any thread other than the main one.
clientlogf may still mix up the output, but it won't crash.
Add AssaultCube's CodeBlocks project for Linux
Keep selected player in op menus, when other player (dis)connects

Until now, when in, for example, kick player menu there was selected
some player and (dis)connected other player with lower CN, then this
earlier selected player was moved to other item in menu, but number
of selected item didn't change, so other player was selected.
Add custom description of demos

Custom description is displayed in "Watching demo" and "Play demo" menu.