Remove QVM_COMPAT, allow both QVM and NaCl ABI at the same time.

* Made GameVM an abstract class implemented by QVMGameVM and NaClGameVM
* The QVM native VMs are now name-qvm-native.so
* NaCl compilation options are visible but off by default

Still TODO:
* Better reporting of errors when creating VMs
* Add a prefix to NaCl native VMs
Remove the last pieces of the LLVM VMs, we have NaCl now
Fix the compilation of native NaCl VMs in C++
RPC: add a major syscall number along the syscall index
Make the QVM compile def more precise by using either QVM_ABI (for the ABI) or Q3_VM (for lcc)
CM: winding_t is now by value instead of by reference

It removes memory allocations in CM however we guess that
winding_t has no more than 15 points and is "cheap" to copy.

This is to be able to allocate a big chunk of memory for a map
and then mmap it in readonly for the VMs
Updated NaCl files
New IPC framework
Use OVERRIDE instead of override to support older compilers
Merge branch 'master' into engine-upgrade/nacl

Conflicts:
	src/engine/server/sv_game.c
Small fix to IPC framework
Merge branch 'master' into engine-upgrade/nacl
Cleanup adding bot obstacles for buildings.
Half human build delay timer.
Set initial buildable health to 25%.
Remove (Advanced) Basilisk and Advanced Dretch. Add a basic implementation of Mantis.

Mantis has low health and a mediocre claw attack. It is fast and has the
ability to do quick forward pounces (copied from the Advanced Dretch).
Mantis health 50 → 75. Wallpounce cooldown 750 → 1000.
Make the Mantis slower but give its primary attack a slowing and stamina draining effect.

Mantis speed: 1.3 → 1.25, Slow time: 1s, Slow modifier: 0.75, Total stamina
lost while slowed: 20%.
Don't penalize Mantis pounce when moving up a slope.
Make AI use the Mantis pounce.