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.