Do not return client broadcast messages to the sender.

Instead of sending a copy of broadcast messages back to the sender, which ignores them anyway, save the bandwidth.
Don't send a value which is never read, anyway.
Simplify NETrecvGame() slightly.

No need to check for NET_* messages in game queues.
Don't desynch on dropped players.

Desynch was due to host-spoofed GAME_PLAYER_LEFT message being processed by clients at random times.

Instead of putting the GAME_PLAYER_LEFT in a NET_SHARE_GAME_QUEUE, put the GAME_PLAYER_LEFT in a NET_SHARE_GAME_QUEUE
in a NET_SEND_TO_PLAYER, such that the clients' NETrecvNet() will process the GAME_PLAYER_LEFT in the same iteration
of the for (current = 0; current < MAX_CONNECTED_PLAYERS; ++current) loop as the real GAME_* messages from that
player, and therefore not mix up the messages.

To reproduce before this commit, start 8-or-so clients, set all to debug mode, change game speed of some clients
slightly, start kicking players. Keep trying again, until desynch is reproduced. Changing game speed of some clients
might or might not be required.

See 93f0e61d924d6709c8db68b53d19f7e3bbeaa911.
Add a mac build for the image helper program.
Use a faster optipng option set that also strips metadata.

Requires optipng 0.7.1+ to work.
Allow queuing building on burning oil wells.

Actual construction only starts after the oil well finishes burning.
Add oil barrels to map preview.
Unduplicate backdrop pixel blitting code slightly.
Fix CB fire against mobile targets.

Steps to reproduce:
1) Player A builds a CB sensor.
2) Player B attacks the CB sensor with a mortar borg.
3) Player B runs away with the mortar borg where player A can't see.
4) Player A builds artillery.
5) Player B slowly kills off all the artillery with an MG viper wheels tank, while the artillery just sits there
   pointing at the mortar borg without firing.

To trigger, the artillery must be built after the last CB sensor in range of where the mortar borg attacks. Any
type of mobile artillery can trigger the bug, such as archangel leopard tracks, or MRA dragon wheels.

Workaround: Player A can build an uplink, so that the mortar borg becomes visible, and the artillery fires. If
            there's still anything left of the artillery by the time the uplink is built, that is.

Fixes ticket:3529.
Fix .gitignore.

The tools/image/image in .gitignore was mysteriously changed to be a directory only in
c346e9ebb6abafc9be31325ce3b2ce1c2f42227a, and the file therefore fails to be ignored.
Fix taking screenshots whose width is not congruent to 0 mod 4.

Closes #3537.
Do not bother looking for things that might not exist.
Try to only show issues in the test outputs.
Balance changes by NoQ.

And thanks to Reg312, Iluvalar and tmp500 for valuable suggestions.

Inferno: price 80->110, incend.radius 64->48, incend.damage 40->32
Thermite Cyborg: incend.damage 38->32
Plasmite: price 80->130, incend.radius 96->60, incend.damage 63->50
Incendiary Mortar: price 150->200, pit price 135->170, incend.damage 30->22
Incendiary Howitzer: price 250->300, emplacement price 325->400, incend.damage 60->32
Minipod: range 1152->1088
MRA: damage 34->29, splash damage 30->29, reload time 145->165
HMG: damage 18->17
AG: fire pause 3->4, damage 20->19
TAG: price 100->120, fire pause 3->4, damage 30->28
AG Cyborg: fire pause 4->5, damage 20->18
MG: ROF upgrades 15%/30%/45% -> 17%/34%/50%.
MC: research points 4800->3600
HPV: research points 7200->4800
Gates: price 25->75
Whirlwind: fire pause 3->4
Thermite Bombs: incend.damage 200->120
Plasmite Bombs: incend.damage 200->140
Cannon Fortress: price 1000->900, range 1792->1408
Seraph: damage 120->110, splash 100->90, INDIRECT->HOMING-INDIRECT
Archangel: INDIRECT->HOMING-INDIRECT
Texture changes by several people.

Cliff decals by Jorzi, sand support by Mysteryem, new rocky ground texture by MaNGusT, minor tweaks by NoQ.

Cliffs should now be visible.
Always reload weapons when bar is full.

Weapons would only reload if completely empty. If not completely empty, the reloading bar was meaningless.
Merge branch 'bugfixes' into 3.1

Conflicts:
	src/game.cpp (Dropped 1974546c27a1d9422ca7ec6bcd70e4fb1041ccc3 changes, which were now redundant.)