Tweaked rules for handicap level and free techs in multiplayer games.

Game handicap level is now set to average of humans' handicap rather
than minimum.

Free techs for handicap levels are now granted based on the player's
handicap level rather than the game's handicap level.
CvTeam::makeHasMet now updates the attitude cache.

CvPlayerAI::AI_updateAttitudeCache is called for each player on this
team towards each player on the met team.
The settings screen now shows the game handicap level.

When the player handicap and game handicap are not the same; both values
are now shown. (This only affects mixed handicap multiplayer games.)
Fixed a bug which sometimes caused free specialist to be poorly assigned

JuggleCitizens previously only considered the best available jobs; which
meant that when there was a good unworked plot it would prevent
JuggleCitzens from considering other specialist roles for free
specialists.
Fixed a bug in the selectGroup moves check.

When selecting units with ctrl/alt, if the clicked unit is already
selected then moves should be checked.

The previous implementation of this rule was flawed. Now it should work
correctly.
Changed the diplomancy animation for "worst enemy trading".

Previously when an AI leader greeted a player by asking the player to
stop trading with the AI's worst enemy, the AI leader would use the
'furious' leaderhead animation for a little while, and then switch
suddenly to whatever their actual attitude was. I found this a bit
strange and jarring; so I've changed it to use the 'disagree' animation,
which may or may not be better...
Edited CvSelectionGroup::splitGroup to give a more balanced division.

splitGroup was writen to give proportional split for each unitAI type,
but it was failing to give a proportional division of the unit types
within each AI type.

I've changed it to not simply take the first units available for each AI
type. This should result in a more balanced split.

(This change should help reduce the likelihood of the AI launching a
naval assault with too many siege units.)
AI explorers will now try to make contact with mapped but unmet players

Previously, if the AI revealed an unmet player's territory by trading
maps, it would discourage that AI from sending any explorers into the
unmet player's territory to actually make contact.

To correct this, AI_explore and AI_exploreRange now add some points for
moving into revealed territory of unmet players.

Also, a minor vision cheat in AI_explore has been removed.
Fixed a minor bug in AI_transportGoTo which affected diagonal landings.

AI_transportGoTo checks to see if it can land at the end of a turn, but
this check was failing when the landing was a diagonal move.

Added new function alias: stepDistance(CvPlot*, CvPlot*)
Made some adjustments to the AI's bombard target when evaluating units

The bombard target affects the unit evaluation when choosing which unit
to train for UNITAI_ATTACK_CITY.

This target now depends on the sum of both 'attack' and 'attack city'
units (rather than just 'attack city'); it is no longer increased for
the 'crush' strategy; it is now decreased if all of the (potential)
fighting is overseas; and the total value of the bombard rate is no
longer increased for units which ignore building defences. (If the siege
unit ignore building defences, then the non-siege units probably do as
well, and so it isn't really of any additional value.)

This bombard evaluation may need some further tweaking after this
change.
Tweaked the AI's espionage usage for sabortaging plots & esp. economy.

Slightly increased the probability of targeting plot improvements.
Tightened the conditions on espionage usage when using the 'espionage
economy' strategy.
Tweaked the evaluation in AI_assaultSeaTransport, to be more consistent

assaultSeaTransport now increases the value of targets close the group's
existing mission destination, so as to discourage groups from
oscillating between targets.
Added new function AI_unitPlotHash, now used by assaultSeaMove/Reinforce

AI_unitPlotHash provides unit/plot dependent 'randomness'.
It is now used in place of sorenRand in AI_assaultSeaMove and
AIassaultSeaReinforce, and it is used instead of the (same
functionality) hash code in AI_pickTargetCity.
Reworked the tech-cost modifier for team games.

Tech cost is now directly proportional to the number of civs in the
team, but there is now a global tech cost reduction for games which
start with fewer than the default number of teams for the given world
size.

The combination of these two changes should give roughly the same tech
costs as before for games with evenly sized teams, but for games with
uneven teams the cost will be higher for the bigger teams.
The trade value of techs is now independant of team size.

Usually, the trade value of a tech is proportional to its cost. The cost
of techs is proportional to the number of civs on the team; and I think
that including this team-size multiplier for trade was unfair and
counter-intuitive.
The AI will now focus more strongly on building spaceship with SPACE4.

AI_chooseProduction now has an earlier project build test when using the
space4 victory strategy. (This may need some fine-tuning to prevent the
AI from using dud cities to build spaceship bits.)
Corrected a minor problem in the evaluation of gifts for allies.

There is a multiplier which is meant to discourage the AI from giving
away bonuses which their allies already had - but until now, it was the
wrong way around.
Fixed some behaviour problems for large AI stacks.

Fixed a bug in AI_anyAttack - canMoveOrAttackInto was called for the
lead unit rather than for the group.

Changed AI_follow to allow large groups to leave units behind when doing
AI_anyAttack.

The risk ratio of AI_stackVsStack is now adjusted for relative stack
size. - ie. Large stacks may now sometimes attack small, but dangerous,
stacks.
Made some changes to how data is merged when two teams merge.

shareCounters is now only called for one team (because the second team
is discarded anyway).

shareCounters has been edited... with very few actual functionality
changes.

totalEspionageEver, and espionage vs particular teams now use the
maximum value, rather than just the value from the first team.

Partially reseached techs now use the sum of the research from each team
rather than just the maximum.
Redesigned the evaluation of attack_city units.

The previous system was focus around a somewhat artibrary global target
bombard rate. The value of bombard units was boosted significantly while
below the target. Unfortunately, if siege units were powerful enough to
be chosen even when above the bombard target, then the AI would end up
with too many siege units - and also, the calculation of total bombard
was only a rough approximation, distrorted by the presence of defensive
units with bombard.

The new system does not use a bombard target, and instead focuses on the
number of units with a combat-limit of less than 100. The value of the
unit is reduced if there are already too many combat-limited units. The
reduction in value primarily targets the bombard component and the
collateral damage component.

The new system is still a bit of an ugly kludge, but I think it will
have fewer systematic weaknesses than the old system.