Update / Port to SFML 2.1

This PR updates dolphin to use SFML 2.1. It was based on the patch by Brandon Barnes / WinterKnight from here: https://forums.dolphin-emu.org/Thread-patch-use-sfml-2-1.

I've mainly done this PR for the debian package since debian only ships SFML 2.1. I could just apply this PR to the debian package, but I'd prefer it if there were only minimal differences between the my package and the official version.

I've split this into 2 commits: one which updates everything in Externals/ and the other which patches the source code, but I can squash them if you prefer.

Most of the changes were just function renames (mainly capitalization), but some changes were bigger since parts of the SFML network api were redesigned:
* sf::TcpSocket is no longer copy constructable. Unfortunately SFML is not a C++11 library so I've had to use unique_ptrs to handle the places where sockets are moved around.
* sf::SocketSelector has an "isReady" method instead of a "GetSocketReady" now. This means you have to iterate over all the connected sockets to find which one is ready in NetPlayServer. This also meant that the std::map of players had no more users - so I changed it to a std::list.
This needs to be defined everywhere SFML is used (rather than just for SFML itself). It prevents everything being declared with __declspec((dllimport)) on windows.