Updated Swift code to Swift 4.1 and modern Swift design patterns.
Updated Swift code to Swift 4.1 and modern Swift design patterns.

- Updated to Swift 4.1
- Made more "Swifty" through use of:
  - functional programming concepts
  - access control and mutability
  - computed properties
  - `extension`
  - `struct`
  - `for`..`in` statements
  - `switch`..`case` statements
  - `Set` container
  - `Hashable` protocol, both as extension and synthesized
  - `init` methods

FigBug/Multiplayer-ELO,FigBug/Multiplayer-ELO,FigBug/Multiplayer-ELO,FigBug/Multiplayer-ELO,FigBug/Multiplayer-ELO,FigBug/Multiplayer-ELO,FigBug/Multiplayer-ELO,FigBug/Multiplayer-ELO