set engine default to Sdl2

Always default to the best engine. If it fails,
all other supported engines are tried.
Merge pull request #4365 from hasufell/master

engine detection: fix order/redundancy
Merge remote-tracking branch 'upstream/master' into bleed
More for OpenRA/OpenRA/#3748
    - add hashfunction for List<Player>
    - add Sync attribute to player list