GameMP: Fix player count when hosting a saved game.

This fixes the "saved game needs N human players" error and allows the
host to start the game.
GameMP: Fix typecast of auth_player()'s arguments.
GameMP: Send MPMSG_REFUSE_NEW_PLAYER directly to player.

The game is supposed to show an error message if the host rejects the
player. It first checks to see if the player id in the received packet
is the same as the one in mp_obj. However, the player id is only set if
the host accepts the player. This means that the rejected player will
never see the MPMSG_REFUSE_NEW_PLAYER error message because the player
ids won't match. Sending the message directly to the player instead of
broadcasting it fixes the problem.
MultiPlayer: Fix off-by-one errors.
OBUTT3D.cpp: Fix static buffer overflow.

The save_back_buf array did not include enough storage for the bitmap
width and height (4 bytes), causing IMGread() to write past the end of
the array.

Found by AddressSanitizer. To reproduce the bug, start a new game and
click on your fort.
FIRMA: Removed a piece of nonsensical and archaic debug code from process()

Git blame shows that the i==50 check was there since the very beginning.
It seems it was added once for a specific case to run through with the debugger,
but after that it was never removed again.
OMOUSE: Fixed a spelling error in a comment
ONATIONB: Fixed a bug with Alliance visibility and new nations spawning

When a new nation spawns, it sets its relations with others and others
with it. However, the NationBase member variable is_allied_with_player was
also reset for each already existing nation in init_relation.
is_allied_with_player is used for visibility-checking, and so a new nation
spawning caused all existing alliance-visibility to vanish.
Sys: Fixed pause toggling after loading games

When in a game, then pausing and loading a different game, the
Sys::set_speed function is not in a correct state (because of internal
static variable), causing the pause keys to not function properly.
Added a check to catch this situation and rectify it.
DynnArray: Added const keyword to 'property' functions
War Factory: Shift-clicking adds/removes 10 weapons at a time to/from the build queue
Town: Shift-clicking will train 8 units at a time (or cancel 8 units)
Harbor: Shift-clicking adds/removes 4 ships from the build queue at a time
Merge branch 'obutt3d-fix-buffer-overflow' of https://github.com/7k2/7kaa into obutt3d-fix-buffer-overflow
Town Network: initial files and algorithm implementation.

Includes the basic definitions of a Town Network and the TownNetworkArray,
which is to TownNetwork what TownArray is to Town. Extended Town to
include properties pertaining to Town Networks and handle events relevant
to Town Networks.

Updated by Jesse Allen <the3dfxdude@gmail.com> to merge cleanly, and to
update the automake files.
Town Networks: OTOWNDRW: Updated draw & detect of town-to-town migration to use the Town Networks.
Town Network: Fixed typo's in OTownNetwork.cpp, which caused the code to malfunction
Town Network: introduced bug in OTOWNDRW, now fixed again: do not draw migrate icon on source town
Town Network: OTOWNDRW: Added flag to enable drawing lines to all towns in the network, not just to towns directly linked
Town Network: OTOWNDRW: Fix a minor issue with other nation towns and the flag for drawing all lines