Move everything in src/filesystem.hpp into its own namespace

Conflicts:
	src/addon/manager.cpp
	src/campaign_server/campaign_server.cpp
	src/editor/map/context_manager.cpp
	src/editor/map/map_context.cpp
	src/font.cpp
	src/game.cpp
	src/game_config_manager.cpp
	src/gui/dialogs/editor/custom_tod.cpp
	src/gui/dialogs/lobby/lobby_data.cpp
	src/gui/dialogs/mp_create_game.cpp
	src/gui/widgets/settings.cpp
	src/hotkeys.cpp
	src/multiplayer_create_engine.cpp
	src/multiplayer_lobby.cpp
	src/network.cpp
	src/playcampaign.cpp
	src/savegame.cpp
	src/serialization/preprocessor.cpp

I produce this by cherry-picking gfgtdf's commit of AI's original
commit, from master to 1.12 as usual. git figured out about 2/3
of the file correctly, the rest I mostly had to do by hand. I have
now inspected each line of the diff, it looks good to me.

Edit: There were minor issues in campaign_server, now resolved
after rebasing this.
Rename filesystem::file_name to filesystem::base_name

Amended: src/editor/map/map_context.cpp
   src/gui/dialogs/editor/custom_tod.cpp
   src/gui/dialogs/screenshot_notification.cpp
   src/gui/dialogs/wml_error.cpp
   src/serialization/preprocessor.cpp
Remove some unneeded includes
Make filesystem.hpp not depend on config.hpp being included first

Conflicts:
	src/filesystem.hpp
Rename file_create_time to file_modified_time, as that's what it does
Remove a comment that is no longer true
Don't try to iterate over things that are not directories
Split the parts of filesystem.cpp that don't directly interface with the filesystem off into filesystem_common.cpp
add filesystem_common.cpp to cmake