Add filesystem_boost.cpp, a boost::filesystem implementation of filesystem.hpp
Add filesystem::delete_file
Include set
Some windows-related fixes
Log the error message when complaining about there being an error
Get rid of some const-reference-to-temporary warnings
Don't iterate over things that aren't directories
Windows uses a different error when a directory in a path doesn't exist
Replace some usage of remove (3) with filesystem::delete_file
We don't need filesystem_win32.ii, just windows.h
Fix travis build
Fix some win32 API usage

aquileia noticed that with MSVC set to 'unicode', wesnoth didn't compile.
The reason is that much of the win32 API is provided by macros that switch
foo(LPCTSTR) between fooA(const char*) and fooW(const wchar_t*).
We were using foo with const char*.
Silence a macro redefinition warning
Win32 API fixes
Merge branch 'master' into boost_filesystem

Conflicts:
	.travis.yml
	SConstruct
	src/addon/manager.cpp
	src/campaign_server/campaign_server.cpp
	src/editor/map/context_manager.cpp
	src/editor/map/map_context.cpp
	src/filesystem.cpp
	src/filesystem.hpp
	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/savegame.cpp
	src/serialization/preprocessor.cpp
	src/widgets/button.cpp
	src/windows_tray_notification.hpp
Fix a unit test
Fix some error messages
Remove a redundant function call
Don't fail on file_not_found if that's what you're checking for
Factor out a common expression