Fix range markers for blueprints.

Also refactor a bit to use the same code for buildables and blueprints.
Changelog.
Speex is not required to build the server
Avoid “too many target_locations” on startup (game.so, static init).
Have ‘destroyed’ (build log) shown in a different colour.
Make door trigger range mapper controllable and increase its default value by 20%.
Rewrite BoxOnPlaneSide

From ioquake3 revision 1635
New version is shorter and faster than both the original C and the asm.
Fix build on non-x86.

gcc doesn't have the -msse2 switch on most architectures.
libCPUInfo isn't buildable on anything non-x86.
Fix Con_Grep_f truncation

longer outputs would get truncated to MAXPRINTMSG characters due to a limit in Com_VPrintf.
Multi threaded Navmesh generation

Build separate Navigation meshes on separate threads
idea from bots 2.0
Add rcErodeAreaByBox

We use an AABB instead of cylinders for our character collision detection. Therefore, rcErodeWalkableArea will either erode too much or too little. Eroding too much will prevent bots from getting into areas they should be able to get to. Eroding too little will cause them to get stuck on map geometry.
Fix use after free crash
Remove a bunch of Sys_Printf calls during Navmesh generation
Rewrite geometry loader

*Use std::vectors instead of counting the surfaces and allocating manually
*Better surface filtering to exclude unneeded surfaces
Remove unreachable spans

This decreases the size of the resulting navmesh by removing areas that are not open to the player spawns. This is useful because many maps have a roof that is inaccessible to the players.
Allow bots to walk over small gaps
Don't filter out ledges
Remove useless "Setup Recast" step
Remove unused "skipEntity" code
Remove leading spaces from printfs.