add SDL_SavePNG, write files as png if possible, unless ending .bmp

This commit adds a "minimal interface to lib png to support writing
png files from SDL surfaces", to the codebase. It adds a save_image
function to namespace image, and this checks compiler flags to see
if lib png is available. The function will save as a png if png
support is included and save file name doesn't have bmp extension,
and otherwise it will save as a BMP as usual.

We already had lib png as a dependency to build the tools, just not
the main game. This commit changes cmake and scons but makes the
dependency only optional, changing nothing if lib png is not
available.

See here: https://github.com/driedfruit/SDL_SavePNG
Merge branch 'save_png'

Conflicts:
	CMakeLists.txt
fixup SDL mixer version check

fixes up commit 972ae8d78a318e1dece92bf57a4d77672373c60a
remove xBRZ's included copy of GPL (we already have such)
add remarks on licensing to xBRZ headers
uint32_t -> boost::uint32_t

uint32_t is new in C99 or C++11. So msvc 2008 doesn't support it.
add a comment
remove outcommented code
update changelog
remove outcommented code
rename game_board::all_survivors_to_recall
fixed unused variable warning
fix some copyright notices
fixup SavePNG uses to use our filesystem functions
remove unneeded include
rename some macro constants to less common names in SDL_SavePNG cpp
move code to game_initialization folder
fix gcc compilation
Merge branch 'master' of https://github.com/wesnoth/wesnoth
Update Xcode project file