Defined BaseTournament Trait and implemented Elimination

* Defined a base tournament trait
* Refactored Base to ElimTour extending base trait
* Implemented the rest of base functions
* Added some use of Lenses