Trying out Vertical Allocation Algorithm.
The Room object now encapsulates the job of allocating its rooms.
It does it by allocating the subjects vertically, i.e. if i have a subject
which needs 16 hours, what it will do is allocate all the 8 am slots
(Mon - Sat), then rolls-over to 9am slots (Mon - Sat) etc..
However, I encountered a new bug - it appears that there are
some gaps on the 7pm slots for Saturday as well as a gap on
the 9am slot for the second room.
To Do:Fix the new bugs abovementioned.