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.
Store session info for anonymous users taking max_questions quiz

Keep track of the question subset and incorrect questions to allow
anonymous users to sit quizzes with max_questions set.
Show max_score for each attempt in progress template
Handle incorrect question toggle via post
Add start, end times to a sitting; display completion date on marking page
Show completed date on marking detail page
Display answer in readable format on marking detail page
Merge pull request #14 from trident-systems/max_questions

Max questions