Fix same answer being judged against each other.

This bug showed up cause it selected the random partner from all
available answers, which still leaves a chance that it might select
itself. Fix is to select from previously paired up answers, which should
exclude the current answer being paired up.
Exclude answers when getting a lis tof questions.

This is to speed up the course page load, since getting those answers
seem to be dramatically slowing the page load. It looks like the slow
down is with the marshal() function, not with the data queries, we might
need to use a faster json converter.
Fix judgment submit working only once sometimes.

When judging a question, if another question has answer pairs in a
higher round, then judgment submit will only work once. This is due to
the query selecting the max rounds first and then applying the question
restriction. So the rounds number we get is the max round out of every
single question, instead of just the question we're looking at.

Fix is to split the max round and question restrictions into subqueries
and make sure that the question restriction one is executed first.