On a Clique-Based Integer Programming Formulation of Vertex Colouring with Applications in Course Timetabling