decide which mirror to choose locally and display result

closes #3904
Fix chat line expiration

The chat display overlay would remove one chat line every X ticks.
It will now keep track of the time each chat line has to be removed
and act accordingly.

For example, if 3 chat lines are added with 1 second difference
from each other, they will be removed one after the other, with the
same 1 second difference.
Minor clean up
Fix text-wrapping special case

If a line of text contained a whole word that was longer than the
allotted space, it would fail to wrap that line completely, even
if it was possible to wrap at other locations.

Fixing this uncovered a second issue, where it would drop the last
line if the input had more than one lines and one of the first ones
was wider than the specified width.
Fix issue #5149: Make chat window not autoscroll

It will autoscroll unless the chat window is open and the scroll
position is not at the bottom.
Style fixes
Fix overlay chat lines expiration

It wasn't working right when the widget was hidden because it
wasn't receiving any Ticks. Instead of counting, we're now using
Game.LocalTick as the tick source.
Fix scroll offsets

This is not a full fix, it merely restores the functionality
already present. The ScrollPanelWidget does not work right if
Align is set to Bottom but ScrollToBottom() isn't called after
adding items and there's not enough content to scroll.
Make MCV crush infantry
Grenade slightly faster again. 100% vs. none.

After playtesting, it seems the grenade is a *bit* too slow. Keeping it slow, but bringing its speed from 5 -> 7. (Original value was 12)

Looks reasonable.

Also giving 100% vs. infantry instead of 90%.
Reducing spread of GrenadierExplode

GrenadierExplode is a good idea, but right now its damage is too high.
Reducing spread from 8 -> 6.
Small buff for Humvee/buggy machine gun

Machine gun seems to be under-performing vs. infantry
Give it 5 bursts instead of 4. Will allow it to kill E3s more effectively.

Despite this change, overall damage vs. Light armor is not increased since Release.
fix missing un-l10n of C&C Requires: production tooltip

closes #5209
tabular view, sorted by namespace and given headers
more non-technical type names
port harvester documentation to the new inline Desc format
remove brackets from float2.ToString conversion
add a table of contents
Repaired gdi03 mission. Fixes #5210.

I opted to lower the power consumption for SAM instead of restoring the
original power values for FACT and PROC since those two are available to
the player as well and they would behave slightly different in this
mission than in other ones.
Fix changelog url in the packaging script.