fix #4168

broke in e5800
Lua: track more allocator statistics
Lua: make time and steps spent on garbage collection configurable
LuaSyncedRead: API duplication--
SelectedUnitsAI: minor style
HL: compile
US: compile
LuaSyncedRead:
  make Get{Unit,Factory}Commands (optionally) return just the queue's size
  (ie. without copying the entire command queue into Lua VM memory, *VERY*
  important for performance when a nugget is not interested in the commands
  themselves)

  "if #spGetCommandQueue(unitID           ) == 0 then return end" --> BAD, CREATES COPY OF QUEUE
  "if  spGetCommandQueue(unitID, -1, false) == 0 then return end" --> GOOD, DO THIS IF POSSIBLE
AI: compile, SelectedUnitsAI: more style
DS: compile (why oh why does so much depend on Lua...)
GameServer: add debug messages for #4171
problem is either here or in network layer
add server's frame number to dbg info
ops
DS: link
GameInfo: add map hardness label/value
mix(uint,uint,float) --> mix(float,float,float)
Game: store 'msgProcTimeLeft' in millisecs, add one final debug-timer
update shard
LuaHandle: add configurable limit to max. size of garbage memory pile
that won't work