Handle properly A_FUTURE with research_invention_XXX() functions. It will
prevent infinite loops and wrong memory access since patch #4888.

Reported by Andreas Røsdal <andreasr>

See gna bug #22359

git-svn-id: svn://svn.gna.org/svn/freeciv/trunk@25696 a0f10bec-cc02-0410-94fc-a9cfff90b4cd
Remove client errors about unknown unit due to an obselete part of unit_move().

Additionally:
* simplify send_unit_info_to_onlookers() and use send_unit_info() in most
places ;
* can_player_see_unit_at() now take correctly in account if the unit would
be transported or not ;
* move_unit() send unit info when unloading, to allow other players to really
see the move.

Reported by Marko Lindqvist <cazfi>

See gna patch #4912

git-svn-id: svn://svn.gna.org/svn/freeciv/trunk@25697 a0f10bec-cc02-0410-94fc-a9cfff90b4cd
Check that ruleset supplied specialist names won't break savegames

Savegames stores the number of each kind of specialists a city has using the
specialist rule name in the entry name. A specialist rule name must therefore be
a valid entry name in a section file.

See patch #4972

git-svn-id: svn://svn.gna.org/svn/freeciv/trunk@25699 a0f10bec-cc02-0410-94fc-a9cfff90b4cd
Fixed can_unit_do_activity_targeted_at() fallback target detection to check
potential extras for target tile, and not for the tile unit currently is at.

See bug #22369


git-svn-id: svn://svn.gna.org/svn/freeciv/trunk@25701 a0f10bec-cc02-0410-94fc-a9cfff90b4cd
Sdl2-client's copy_surface() copies also graphical contents of the surface.

See patch #4969


git-svn-id: svn://svn.gna.org/svn/freeciv/trunk@25702 a0f10bec-cc02-0410-94fc-a9cfff90b4cd
Corrected maglev sprite tags.

Patch by Jacob Nevins <jtn>

See bug #22371


git-svn-id: svn://svn.gna.org/svn/freeciv/trunk@25703 a0f10bec-cc02-0410-94fc-a9cfff90b4cd