Tournament systems.

- Introduced the concept of tournament systems: a system is a
  combination of pairing and a scoring system.

- Tournaments now store "events" in addition to the pairings. Events are
  an extensible meta-information mechanism.

- Factored out current hardcoded tournament logic into the "Arena"
  system. Arena is the default system.

- Added a "Swiss" system for FIDE-like tournaments. Pairing logic is
  based on the FIDE-sanctionned Burstein system.

- The Swiss system pairs players as soon as all games in the previous
  round are completed. Players get paired regardless of whether they are
  present in the lobby.
Merge remote-tracking branch 'psuter/topic/tournament-systems' into tournament-systems

* psuter/topic/tournament-systems:
  Tournament systems.
fix blocking lichess messengers
dangerous UI refactoring
Updated tournament FAQ to account for Swiss system

- Also, no points for quick draws in Swiss system.
Merge pull request #92 from psuter/tournament-systems

Updated tournament FAQ to account for Swiss system
fix pgn download content length
handle unparsable URLs better
preload less data
replace CSV game export with SCID compatible PGN file
various cleanups
fix blog atom validity
show blog atom icon
improve pgn export file name
improve blog syndication
prismic kit upgrade
remove /fen and watcher
improve export file name
try to fix translation context parsing
upgrade chess module - situation hash refactor