Timeslots for empty class are now returned randonly so that everytime a
new schedule is initiated, it will produce a randomly generated schedule
rather than a fixed schedule

Other minor fucntion updates