Renamed MISSIONAI_JOIN and fixed a minor problem in AI_barbAttackSeaMove
Replaced eIgnoreMissionAI in AI_omniGroup with bIgnoreBusyTransports.

Added a new missionAI type: MISSIONAI_REINFORCE. (Note: this addition
may cause some temporarily confusion in the AI when loading savegames
from the previous version.)

eIgnoreMissionAI was only ever used to ignore assaultSea units which
were on assault missions. I've changed the parameter so that I can use
it to ignore a more general set of busy transport units; for example,
transports doing a 'reinforce' mission.
The anti-double-move rule now only applies after meeting another human.
Restructured AI_assaultSeaReinforce; renamed and expanded AI_assaultGoTo

CvUnitAI::AI_assaultGoTo has been renamed to AI_transportGoTo, and it
now takes a parameter for the desired missionAI.

CvUnitAI::AI_assaultSeaReinforce has been restructured to be more
readable, but there are only a couple of minor changes in functionality
- for example, the 'reinforce' mission is used in some places rather
than 'assault'.

Removed an assault mission flag when AI_assaultSeaMove tries to unload
units into a newly captured city.
Stack size thresholds in AI_assaultSeaMove are now reduced when en route
Reshaped the meaning of isForceUpdate.

CvSelectionGroup::readyToMove now considers isForceUpdate to be
equivalent to being awake with no missions queued.

Disabled CvSelectionGroup::doForceUpdate. Inlined setForceUpdate and
isForceUpdate.

'force update' no longer wakes sleeping units. The AI's sleeping units
are also not woken at the start of the turn. doForceUpdate is now simply
used to signal that the AI update function for each group should run at
least once per turn, regardless of whether the unit is awake or not.

AI_cancelGroupAttack and clearMissionQueue are now called explicitly
without being directly associated with force update.

With these changes, the AI can now use MISSIONS_FORTIFY if it wants.
startMission now deletes dud missions without changing activity.

CvSelectionGroup::startMission use to set the group's activity to either
'hold' or 'mission' before checking whether the mission was possible. It
now checks the mission first, and if canStartMission returns false, the
mission is deleted without the group's activity being changed.

With this change, fortified AI groups will no longer refortify if the
fortify mission is pushed again.

(Note: unfortunately it also means that fortified AI groups will ignore
other 'wait' missions as well, including heal and sentry. But I don't
think that will make any difference for the time being.)
The AI now uses MISSION_FORTIFY in a number of places (for aesthetics).
Told the AI to explicitly wake their group in a few places.

There are some places where the AI_move functions return without pushing
a mission. The AI now explicitly wakes their group in these cases, just
in case the group was actually asleep and just in case we want to run
the move function again.

I don't expect this change to make any difference.
Added xml option to block python callback for unit upgrade cost.

"USE_UNIT_UPGRADE_PRICE_CALLBACK" in PythonCallbackDefines.xml.
Rewrote CvUnitAI::AI_upgrade, primarily to improve speed.

The function is now faster, and the choice of upgrade is now based on
the AI's evaluation rather than on a random number.
Minor efficiency improvements.
Added missing "return false;" in CvUnitAI::AI_nukeRange.

Warning messages are hard to notice in VC++2008. That's my best excuse.
Fortify, sentry, heal, and sea-patrol no longer block each other.

Previously all these function returned false if the unit was 'waiting'.
Now they only check that the unit isn't already doing the particular
task. eg. canSentry now returns true if the unit is fortified, but false
if the unit is already ... sentrying. (Previously it would return false
for both.)
Slightly amplified the effect scaling in AI_warCommitmentCost.

iCommitmentPerMil is now adjusted by an absolute value at the end of the
calculation. The effect of this is that the adjustments to
iCommitmentPerMil now have relatively stronger effects. (eg. relative
power, relative production, and so on, now count for a bit more than
before.) -- Also, the standard iCommitmentPerMil has been reduced.
AI_assaultSeaReinforce will no longer declare war.

It also will no longer use the 'assault' mission. This prevents it from
triggering the assault stack size discount thing.
Made several significant changes to AI_foundValue_bulk

Added a new factor to decrease the value of sites which lack hammers.
Fixed a bug which prevented sea resources from being evaluated.
Value of resources (bonuses) now scales based on how many the civ has.
Changed the way resources are evaluated for starting locations.
bEasyCulture now affects bonus value as well as yield value.
Changed the effect of bAmbitious on bonus value.
Reduced the value of water plots.
Made values numerical adjustments to yield values.
Deleted some obsolete code.
Futher changes to foundValue, particularly wrt special food and features

iSpecialFoodPlus is now counted for all plots above the food threshold, regardless of whether they are water, or have a feature, or a bonus or whatever.
Moved and adjusted some of the feature parts of the evaluation, to fix a few minor problems / inconsistencies.
Changed the way yield is counted on the city plot to better reflect the actual game mechanics.
The bAmbitious bonus for bonuses is now applied for the city plot.
Minor changes to cultureVictoryStage and iClaimThreshold.

The AI is now slightly more likely to prepare for a cultural victory in the early game.
The AI's city founding culture threshold is now higher for the late game.
Corrected the financial advisor from always claiming non-zero away units