separate fake units list from real units list

This is a first step before brnaching off to fake units manager
add fake_unit_manager, split off from game_display object

This commit adds two classes -- fake_unit, and fake_unit_manager,
both split off from code contained in game_display. The display
object is reconfigured to hold a pointer to the manager and
display the units it contains. The rest of the code is configured
to add fake units to the manager, not the display.

This improves encapsulation and helps to reduce the game_display
class.
Merge branch 'master' of git://github.com/wesnoth/wesnoth