Fixed the triggering of unit movement animation in a couple of places.

Also, changed the pitboss spaceship crash fix to check
IsGraphicsInitialized instead of isPitbossHost.
Completely rewrote the attitude cache system.

Cache is now recalculated on the spot when something happens to
invalidate it.

CvPlayerAI::AI_invalidateAttitudeCache has been removed and repalced
with CvPlayerAI::AI_updateAttitudeCache.

The original system (from the 'CAR' mod) was hideously prone to OOS
bugs. I'd fixed many of the bugs in the past, but there were still more,
and it was extremely difficult to write robust code using that system.
(Here a couple of lingering bug examples from the old system.
CvTeam::declareWar didn't clear cache for the friends of the war target.
CvTeam::signDefensivePact didn't clear cache for the rivals of each
team. The crux of the problem is that in the CAR system, it was the
programmers responsibility to know exactly how and when attitude could
be affected in any way, and then clear the cache when it was affected.
If the programmer overlooked anything, it could cause OOS.)

The new system is more rigid in when the cache is recalculated; and so
similar 'bugs' will now no longer result in OOS. At worst they will
result in out-of-date attitude ratings. In fact, this is such a minor
effect that I've deliberately removed the cache update from a few places
where I think it is unimportant.
Removed new virtual functions in CvPlayer, because they caused problems.
Changed the close-border attitude cache system.

The original close-border attitude cache system was prone to the same
OOS problems as the CAR mod cache system. So I have rewritten it using
the same, more robust, style as the new cache system.

ie. The cache is updated rigidly at the start of each turn rather than
being updated when it is first called upon.
Fixed a couple of issues with rebuked demands resulting in war.

Previously, rebuke warplans were only allowed if the rebuked team's
power was higher. That condition has been changed so that it instead
depends on AI_startWarVal. Also, the 'preparing limited' warplan will no
longer be allied if the team already has a warplan against the target.
Added a couple of new ways for the AI to abandon war plans.

When it is time to switch from a "preparing" warplan to an actual attack
plan, the AI will now recheck that AI_warStartVal is positive. If it is
no longer positive, they will abandon the warplan.
Restructured CvTeam::declareWar.

The restructure should fix a minor problem with the attitude cache, and
also make the fuction more readable and more efficient
Fixed several misplaced calls to AI_updateAttitudeCache.
Made several adjustments to AI_warCommitmentCost.

In particular, relative sea-unit strength now has a significant effect
on the cost of over-seas wars. The effect of unit strength in general
has been tweaked. And the adjustment for distant wars has also been
tweaked.

CvPlayer:: and CvTeam::getTypicalUnitValue now accepts a DomainType as
an optional argument.
Ship of the Line now can be built with copper as well as with iron.
Dead players will no longer try to update their border attitude.

ie. Fixed a bug in the new way the closer-borders attitude cache is
updated which caused the game to access forbidden memory.

Also, the xml log will no longer report that "NONE" was not found.
Fixed a problem in the way replay info handled player color.

Changed CvReplayInfo::createInfo so that it does not use
CvPlayer::getPlayerColor, but rather just accesses the colour directly
from the game core to bypass the colour concealment check.

Also, changed concealUnknownCivs so that it returns false when there is
no active team. This should cover cases where the game isn't full
initialized, as well as pitboss hosts.
AI_getNumPrimaryAreaCitySites now accepts a minimum site value.

CvTeamAI::AI_warCommitmentCost now uses a minimum site value when checking for possible expansion sites.
Changed some loops to use MAX_PLAYERS rather than MAX_CIV_PLAYERS
Rearranged calls to CvTeam::doTurn to fix a balance problem.

CvTeam::doTurn is now called immediately after all players of the team
have finished their turn. (or, for simultaneous turn mode, immediately
before the first player's turn.) This corrects an problem which caused
counter-espionage missions to be unfairly more powerful for players
who's turns came first.

Some calls to CvPlayerAI::AI_updateAttitudeCache have been moved to
accommodate the change to doTurn.
Minor tweaks to unit building probabilty, and city spoils value.

Slightly reduced the weight of city_attack units.
Decreased the effect of the dagger strategy (reverted some previous changes).
Decreased the spoils value of holy cities which have not built a shrine.
Corrected some const-correctness and style issues in LFB code.
Minor changes. Tweaked spoils value.

Added a new version of plotXY which use a CvPlot* as a reference point.
Reduced the value of holy cities and corp HQ in AI_warSpoilsValue.
Deleted some white-space in CvSelectionGroupAI.
Completely redesigned and rewrote the AI for using nukes.

Wrote a completely new version of CvUnitAI::AI_nukeValue, which is now a
flexible and general purpose nuke target evaluation function.

Rewrote CvUnitAI::AI_nuke and AI_nukeRange to make use of the new
version of AI_nukeValue.

This new stuff will need some testing.
Made several significant changes to the AI's war evaluations.

The plot values in CvTeamAI::AI_warSpoilsValue are now scaled by an
era-based factor so that they scale better into the late game. Also,
I've made some balance adjustments to the deny factor and the gain
factor; particularly for overseas total-war.

In CvTeamAI::AI_warCommitmentCost, the cost is now more strongly linked
to production. The relative production factor has been slightly
increased, and the overall commitment pool is now weighted more strongly
towards production than previously.
The 'iOurRelativeStrength' now includes the power of vassals.

Note: before these changes, late game wars were often being completely
blocked due to negative values.