Add option to take a subset of the questions in a quiz
Adds a "max_questions" field to a quiz, indicating the number of
questions to be answered on each attempt. This is useful when the
quiz has a large pool of questions, and students are expected to take
multiple attempts and answer a different random subset of questions
each time.
Each Sitting stores a list of all the questions chosen for the
attempt, and the order in which they are presented to the user, so
that results can be displayed at the end for the question subset,
instead of for the whole quiz.