Move game config loading to new manager class.
Move cache clearing to game_config_manager class.
Move binary paths setup to game_config_manager class.
Clean-up and polish of game_config_manager game_controller class.

Add extra braces.
Substitute for loop with BOOST_FOREACH.
Update CMakeLists.txt and VC9/wesnoth.vcproj.
Split some long lines.
Change pass by value to pass by reference.
Fix formatting of some comments.
Introduced enums for load_game_cfg().
Fix wrong/misplaced function calls. Rename a method.
Make use of scoped defines to automatically clear config cache.
Remove unnecessary auxiliary methods in game_controller.

jump_to_editor parameter now is being passed to game_config_manager class to enable direct calls to init_config() and reload_changed_game_config().
Use only temporary binary_paths_manager in game_controller class.

load_game() function does not need to take care of binary paths since it will always be followed by call to launch_game().
Add helper class to maintain state of game_config_manager.
Adjust scope of scoped_preproc_define objects.
Move binary paths set up to config manager.
Split load_game_cfg().
Clean-up and polish of game_config_manager.*pp.

Added extra brackets.
Changed spaces to tabs.
Deleted unnecessary comments.
Improved consistency in code style.
etc.
Remove game controllers: new and abstract.
Remove --new-syntax command line option.
High level functions for loading editor's and game's configs.

Renamed some functions to keep consistency between function names.
load_game_config() is now made private.
Add difficulty in game_classification and use it for config loading.
Add try & catch for load_game_config_for_game().

This guarantees that game config willd be restore after unsuccessful
loading.
Remove game_config_manager_state class.

The class is not useful due to a bug with dangling pointers of game
config.
Update changelog.