Add Team.Patrol and Actor.Patrol. Fixes #4491.
Add Map.FindActorsInCircle and ...InBox, plus related shortcuts
Replace Lua's for loops with Utils.Do/Team.Do

Besides fitting in better with the OpenRA coding style, this also gets
rid of some weird timing-related errors I have seen when creating teams
with a larger number (6+) of members. (The script would just print
'Error: function' in Team.AddActorEventHandlers. Adding a strategically
placed print statement fixed that. Replacing the original for loop with
Team.Do did as well)
Add production-related Lua functions
Fix OpenRA.RunAfterDelay queuing a null action. Fixes #4512.
Fix OpenRA.GetRandomInteger crashing under certain circumstances

OpenRA.GetRandomInteger crashes when the supplied high value is less or
equal to the low value.  A situation where this might occur is when you
try to get a random member of a dynamically generated array that
happens to have only a single member.