Corrected some potential anomalies in the new handling of CvTeam::doTurn.

In simultanenous turns mode, CvTeam::doTurn is now called directly by
CvTeam::doTurn to ensure that the team doTurn is called when their first
player is activated. (Players may be activated in any order.)
Tweaked CvUnit::AI_nuke to evaluate near unrevealed cities.

Note: Previously, although it did evaluate near unrevealed cites, the
evalution did not actually include the value of the unrevealed targets.

Also, corrected some whitespace in CvPlayerAI.
Corrected some unintuitive selection behaviour.

Adjusted the rules which determine bSelectGroup in CvGame::selectUnit.
These changes correct some of the strange behaviour related to selecting
and deselecting units with the shift key.

Changed CvGame::selectGroup so that selecting units with ctrl or alt
will now include units which cannot move iff the clicked unit itself
cannot move.
Fixed a potential infinite loop in CvCityAI::AI_getImprovementValue.

In the previous implementation, an infinite loop would occur if there
was an improvement type who's downgrades formed a loop.
Units are now ungrouped when deselecting with the shift key.

Previously, units would be added the the group when selected, but not
removed from the group when deselected. This change fixes that
inconsistency.
Rewrote CvMap::updateCenterUnit to only update plots in a certain range.

Previously, CvMap::updateCenterUnit updated the center unit for every
plot on the map. This is quite an expensive thing to do; and it caused a
noticeable delay when selecting units on a big map. The new version only
updates the plots which could potentially be in movement range of the
units being selected. The range in determined using a new static
function: KmodPathFinder::MinimumStepCost.
Cleaned up some minor problems in the use of the pathfinders.

The AI pathfinder and the UI pathfinder are now reset when a unit is promoted.
CvSelectionGroupAI::AI_update now uses the correct pathfinder reset function.

Removed CvSelectionGroup::resetPath and its python counterpart. (The
function was no longer used anywhere, and it's existence is a bit
confusing, so I removed it.)
Made some futher adjustments to how a plot's center unit is updated.

CvGameTextMgr::setCombatPlotHelp will now update the center unit on the plot it is giving text for, so that the center unit matches the text.
Fixed a bug which prevented the "friendlies" combat odds (with the alt key) from being shown in many circumstances.
CvMap::updateCenterUnit now uses airRange for air units, and includes paradrop range for land units, and uses the maxMoves rather than moveLeft.
CvPlot::updateCenterUnit no longer checks if enemy units can move.
Restructured CvGameTextMgr::setCombatPlotHelp.

Removed the two main if statements which covered the bulk of the code
(ie. pAttacker and pDefender != NULL) and fixed a couple of minor bugs.
XML balance adjustments to several units.

Production cost of war elephants (and ballista elephants) increased from 60 to 70.
Maximum collateral targets reduced from 7->6 for cannons, and 8->7 for artillery and mobile artillery.
Grenadiers now get +10% city attack.
Panzers now get 1-2 first strikes.
Submarines and Attack Submarines now get +10% ocean attack.
Ships of the Line strength increased from 8 to 10; but bonus vs frigates decreased from +50% to +20%.
Stealth Destroyers strength increased from 30 to 36.
Made some more fixes and adjustments to the selection system.

Selecting and deselecting units with the shift key will now always form a group.
Restored the functionality of clicking a single unit in a selected group. (It should unselect the group, and select just the single unit, without ungrouping.)
Implemented unit cycling suppression with the X key.

Added new function, CvGlobals::suppressCycling, which currently just
returns true if X is pressed. suppressCycling is now used to block unit
cycling in CvGame::cycleSelectionGroups_delayed and
CvGame::updateSelectionList; and to delay automoves and delayed popups
in CvGame::updateTestEndTurn.

Added a loading-hint for the new cycling suppression key.
Restructured CvUnit::kill, for efficiency, clarity, and sanity.

Of particular note is the loop to destroy the unit's cargo. If this change breaks something, that's where to look.
Also, this restructing fixes the queued-nuke-missions bug.
Fixed the initalization of plot center-units from save games.

My recent changes to CvMap::updateCenterUnit were causing save games to
load without setting the center units correctly. To fix this,
CvPlot::setupGraphical now calls CvPlot::updateCenterUnit.
Fixed minor problems with nuke event messages and city capture sounds.

The city capture sound is now played when the city is actually captured,
rather than when the city capture popup is displayed. This prevents the
sound from repeating if the player chooses to examine the city.

Nuke messages (eg. player X's nuke exploded, or player Y intercepted X's
nuke) are now only shown to civs who player who have met the
civilzations involved in the event.
'Retire' and 'WorldBuilder' controls now always require confirmation.

Previously, doControl(CONTROL_RETIRE) would immediately execute the
retire functionalty with no confirmation. Selecting 'Retire' from the
main menu had an explicitly created confirmation popup.

In the new system, doControl(CONTROL_RETIRE) creates the confirmation
popup itself, and then the confirmation popup can call a new function
called CvGame::retire.

This means that retiring will require confirmation regardless of whether
the command came from the main menu or not and it will no require any
additional ad-hoc code. The 'WorldBuilder' command has be changed in a
similar way.

Also, the buttons in all confirmation popups now describe the action
that is to be confirmed. eg. if the action is 'retire', the buttons will
read "Retire" / "Cancel", rather than "Yes" / "No".
Some more behaviour changes & bug fixes with unit selection.

The selection with the shift key will now always affect only a single
target. This corrects some unpredictable (and unavoidable) behaviour.

Fixed a problem which sometimes caused units to not form a group when
they were suppose to.
Fixed a bug which made researched techs untradeable for 1 turn.

The bug was caused by a conflict between my new CvTeam::doTurn system
and an old rule from the original BtS code, which, as far as I can tell,
was only there to prevent bulbed techs from being immediately tradeable.

That bulbing rule has simply been removed.
Added UI option: Simple Selection, and changed the default behaviour.

The previous selection behaviour with the shift key is now called
'Simple [Shift] Unit Selection'. It can be enabled from the BUG options.
The non-'simple' behaviour is that when using shift to add units (not
remove), if the current selection mirrors a group, a shift will group
select, and form a group; otherwise, shift will not group-select nor
form a group.
Made some adjustments to religion spread and corp spread messages.

When a corp expands into ones own city, the player will now only receive
one message describing what the corp has brought to the city - they will
no longer get the general "corp has spread" message.

Religion spread message and religion removed message now have the
standard duration rather than extended duration.