Civic cache: increment m_iCityPlotFoodBonus rather than total recalculate
JIT: reduce memory usage for CvCity
more jit<bool> to BoolArray conversions
replaced the remaining JIT<bool> with BoolArray
JIT: allow variables to be array type vars (like like an array of CivicTypes)
Added a memory manager

JIT and bool arrays now reuse allocated memory rather than freeing and reallocating.
They also have become much more agreesive regarding checking if memory can be given back to the memory manager. After all that behaviour will no longer cause memory fragmentation.
Fix: restored accidentally removed plotgroup init code
Optimized CvPlayer::updateInventionEffectCache()

If given a civic as argument, it will only recalculate array data affected by that civic.
Example:
If the civic returns 0 for all getAllowsYields(), then the array will not change.
If getAllowsYields() isn't always 0, it will loop though all yields and skip most of the calculations for IDs, where getAllowsYields() is 0.

TODO: make CvCivic use JIT to store the data in question to gain a more reliable test for all 0 arrays.
Improved comments added in last commit