Remove unused functions
Add/correct various compiler annotations for optimization and static analysis.
widget: Fix copy/paste error in geometry of in-game quit screen.

Fixes ticket:3980.
widget: Process widget callbacks before widget display.

Previously, widget callbacks were not always called, even when displayed.

Fixes ticket:3844, "Drag select freezes build progress bar".
widget: Don't clear stats of null pointers.

Fixes ticket:3981.
clang build warning fixes
Update the mac build for Cyp's widget branch.
Tiny cleanup for button rendering.
Remove unused SWEEP and ERRATIC-DIRECT weapon movement types. Cleanup weapon loading.
Misc cleanup
qtscript: Change eventResearched() to always have 3 parameters, where the
new third parameter is player called. Second parameter may be null.

Remove unused power parameter for ECM. Remove some dead code.
Eliminate bison/flex dependencies from the mac builds.

References work done in 372eff669.

Refs #3887, #3538, #3950.
Update solution files for the required MOC(ing) of widgets broken in 64c2fde0dd0e501604ea910308049612bcf37c4f
This change made it rather difficult, if not impossible to fine tune where you are trying
to build/place things.

fixes ticket #3918

Revert "Change locate mouse in 3D function to not rely on static global. Finally remove tileScreenInfo."

This reverts commit 0d91966f5489e72086bcb7fcc930238ee6231a05.

Conflicts:
	src/display3d.cpp
Try to filter out bad maps

fixes ticket:3982
Merge branch 'bugfixes'
Misc cleanup, mostly forward ported from uncommitted qtscript patches.
Remove broken counter-missile weapon type (probably never worked).
Move max extra travel distance from missed projectiles to stats loading code.
Move number of building modules (its "capacity") to parent class,
simplifying a great deal of code.