TournamentService creates missing Tournaments.

 - Remove Tournament struct, rename TournamentRecord back to Tournament.
 - Moved Tournament struct methods into TournamentService as class methods
 - TournamentService can calculate the tournament span based on a match date.
 - TournamentService is a Singleton.
Add pry to test environment