simplified Lua syntax for GDI02
StyleCop
slow down the mechanic toolbox repair animation
slow down the medic heal animation
Changed most references of trait Mobile -> IMove.
In Mobile.cs IsMoving now has a public set as opposed to the initial internal. 
Added IMoveInfo interface to go with *Info classes that require IMove.
WithRotor now uses IMove.IsMoving instead of (self.CenterPosition.Z > 0) as part of a check.
Add Actor.ReturnToBase
Add Utils.Seconds and Utils.Minutes
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.
Merge pull request #4499 from Mailaender/gdi02-fixes

GDI02 fixes
Merge pull request #4518 from Mailaender/hectic-mech

Slower mechanic repair animation
Merge pull request #4538 from Phrohdoh/MobilityChanges

Transfer code from overused Mobile to IMove (and IMoveInfo)
Merge pull request #4530 from obrakmann/lua

Added a few Lua functions, attempt 2
Added OnNotifyBlockingMove to Mobile
Added a blocking check to Production::CanUseExit
Small cleanup in Harvester::OnNotifyBlockingMove