When adding new GC controller-like SI devices, why not copy hundreds of lines of code verbatim from GCController rather than subclassing?
Merge branch 'master' into udpnet

Conflicts:
	Source/Core/Common/CMakeLists.txt
	Source/Core/Core/Src/NetPlayServer.cpp
Initial implementation of IOSync, a replacement for the ad-hoc broken movie/netplay syncing crap.  Breaks netplay for now.
Improve ChunkFile.h:

- Add support for std::set and std:pair.

- Switch from std::is_pod to std::is_trivially_copyable, to allow for
  types that have constructors but trivial copy constructors.  Easy,
  except there are two different nonstandard versions of it required
  on different platforms, in addition to the standard one.

Conflicts:
	Source/Core/Common/Src/ChunkFile.h