Improve C4Object const correctness
Add very rudimentary C4Script testing framework
Add test case for #973
#973: Make FindObject et al. handle object context instead of Find_*

When people write obj->FindObject(Find_Distance(10)), they expect the
engine to use the distance from obj instead of the distance from the
current object (or from 0,0 if called from outside of object context).

Making the engine handle coordinate offseting at calls to FindObject
(and similar functions) instead of having the C4FO wrappers do it solves
this problem.

Compatibility impact: Code that creates their own criteria structure
instead of using the provided Find_* functions will have to be adapted
if they use any of the location-based criteria.
Merge branch 'issue973'