Proper home/away cycling and providing cycle info through the Round class

These changes generate matches for different cycles with the order of the teams toggled after each cycle (instead of shuffled), plus added the cycle and round_with_cycle attributes to the Round class, which makes it convenient for users of the class.