Purchase/Recruit exclusions in Options.cfg file

Reads yaml list of items to exclude from Purchase/Recruit screen.
purchaseexclusions patch for language.h LocalizedText.h change

Fixed compilation error after language.h change
skin colors
Hacked hair color of orginal male personal armor sprite
inlining SavedBattleGame::getTile()

it's the most-called method in the whole project
remove shade range check from shader
inline SavedBattleGame::getTileIndex() for getTile

for total inlining of getTile() codepath
don't malloc and free temp arrays in _zoomSurfaceY

not that this solves any major delay in that function but oh well...
optimized _zoomSurfaceY() for 2x and 4x cases

This covers the default resolution of 640x400 and the obvious next
choice of 1280x800. The new optimized functions use 64-bit integers
rather than reading pixels a byte at a time and writing them back
one byte a time. The result is an fps boost of up to x1.5. The optimized
functions also fall below TileEngine routines in CPU use according to
the callgrind profiler.
Revert "remove shade range check from shader"

This reverts commit 7f5100df39efa4bb51e9e20ffea04c65c9fd6a87.

I can't find any problems caused by the change but removing the change from the
"Standart" routine does cause problems so I can't really assume that shades
will be within the alloewed range apparently.
further work on optimized scaler routines

added 32-bit version of the functions; they're almost as good as the 64 ones!
tweaked 64-bit x4 scaler to reduce register spills, mostly unsuccessfully
Fixed hill see & targeting bugs.
Signed-off-by: Volutar <volutar@mail.ru>
fixed grenade explosion level leading to game crash if grenade blown on top of desert hill
fixed grenade explosion level leading to game crash if grenade blown on top of desert hill
Merge remote-tracking branch 'remotes/OpenXCom-Sup/master'
game crash when targeted not unit but hit unit
Change: Show all radar-types' range on all bases in base building mode
It can be turned off to work in the old way by setting the globeAllRadarsOnBaseBuild setting in options.cfg to false.

It can be very useful if the player building a new base before the previous new base's radar (its construction) is completed. (the player want to do optimal cover)
MaxClick (RightClick) function in Basescape is extended to soldier reorder arrow-buttons, and TextLists' scroll-arrow-buttons (Sell/Purchase/Transfer lists).
reverting rc
gap-aware line tracing (both los and fire) optimization