Refactor tests so they do not rely on unit and city pointers being the same over time
Made Unit read-only and made GameImpl responsible for moveCount management
Made City read-only and made GameImpl responsible for production management
fixed read_only_interface to be ready for merge
Refactored to read-only interfaces