Deleted type()/tpye.name() in Map_Object classes and now using type_name() in Map_Object_Descr uniformly.

Created new Descr classes where necessary, inlcuding for economy objects (e.g. Flag_Descr)

This breaks L_MapObject::get_type in lua_map.cc, which needs to be replaced with L_MapObjectDescription::get_type in Lua scripts
lua_map cleanup:

- renamed L_MapObjectDescription.type to type_name
- added L_ConstructionSiteDescription
- removed type and descname from L_MapObject
- added L_MapObject.descr
Launchpad automatic translations update.
Merged trunk
Launchpad automatic translations update.
Changed visibility for g_Battle_Descr
Merged trunk
Launchpad automatic translations update.
Added a bunch of codereview comments and moved things around a bit.
One more comment.
Launchpad automatic translations update.
Changed return type of Map_Object_Descr.type_name from const* to string& and made the code compile again
New codecheck rule for TODO comments - only TOD(<username>) is allowe now. This will barf at Doxygen comments though.
Removed superfluous; in desctructors
Added Immovable_Descr to Lua interface
Reverted last commit, because we don't need the immovable_descr
Proper use of immovable.descr.type_name for flags and roads in Lua scripts
Map_Object_Descr.type_name is now the only way of getting a Map_Object's type, except for WareWorker. If you need to include subclasses (like e.g. for Buildings), use the is_a macro.
Removed review comment.
Revert the last 2 commits