Add missing license header to generate-statistics-html.py.
Update ChangeLog.
Trying to find out why savegames are being broken.
Possibly helps in finding out why #3416 happens.

refs:3416
Only populate unique entries for the UI template list.

Fixes #3369
Merge branch 'bugfixes'
Fix typo for SuperTransport.

Fixes ticket:3426
Try to fix the autogame hack by introducing a new bool to keep track of
when we should be using the AI's templates.

This only works in debug mode!

TODO: Move the actual setting of this bool script side, in case the user picks
a AI that doesn't support the 'autogame' command.

close ticket:3369
Merge branch 'bugfixes'
Don't desynch in debug mode when pressing 'A' or 'W'.

Accidentally pressing the 'A' and 'W' keys in debug mode lowers and raises the terrain
by an unnoticable amount, causing mysterious hard-to-reproduce and hard-to-debug
desynchs some time later, when a droid crosses the affected tile.

Steps to reproduce: Start a multiplayer game, and set all players to autogame for easy
debugging (this requires enabling debug mode). In one of the clients, press Control+A
to select all units, using a keyboard where the Control key sometimes but rarely fails.
Scroll around the map, or do something else, until a droid crosses the tile where the
mouse cursor happened to be when Control+A was pressed. Watch the game mysteriously go
out of synch due to an apparent miscalculation in the droid position. Try to debug what
went wrong with the droid position.

Also, remove redundant test in buildFlatten().
Flush net data immediately after sending GAME_GAME_TIME.

This allows accelerated multiplayer games to run faster.

Probably also reduces game latency slightly.
Add (int) cast, for C++11 compatibility.

Fixes ticket:3401.
Make 'autogame' work in *debug* mp games.

fixes ticket:3369
Change objmemDestroy() to return a bool.
When we have droids that are "dead" but still have actions/orders concerning them,
we delay killing them completely (as in, free their memory /cleanup routines)
until those actions/orders are cleared on the next cycle.

Use logging of life, death, and memory to see what is going on.

fixes ticket:3419 ref:3338
Fixes Scavenger MRAs

Patch by NoQ
Original model by Berg

Fixes ticket:3365
Make net usage statistics more meaningful.

Previous behaviour: Show bytes sent, before compression, per CPU-second. So with 50%
cpu usage, the numbers would be doubled.

New bevaviour: Show actual bytes sent, and also show bytes sent before compression,
per actual second, independent of CPU usage.
Truncate game state CRC sent over net to 16 bits.

This should save a tiny bit of bandwidth, at least 20 bytes/second.
Show net usage statistics per game, as well as per second.
Merge branch 'bugfixes'
Try harder to prevent desynch on player leaving.

There seem to be way too many ways that a player can leave, disconnect, drop, be
kicked, leave (again), be destroyed and/or be cleared.

During a game, NET_PLAYER_DROPPED must not be sent, since it is executed at a random
game time, and GAME_PLAYER_LEFT must be sent instead. Independently of whether the
player left, disconnected, dropped, was kicked, left, was destroyed, was eaten by a
grue, or was cleared.
Adjust turret pitch as far as possible, and no farther.

Weapons could fail to fire, if the desired pitch was outside the limits.

Fixes ticket:3267.