update whitespace for Question.get_first_unanswered_appearance
use transaction for appearance creation

We check to see if an unanswered appearance exists for the current user before
we create a new appearance. These two actions should be atomic, so that we don't
have multiple processes attempting to create a new appearance for this user at
the same time.

To do that, we lock on the SELECT that finds unanswered appearances using
MySQL's "SELECT ... FOR UPDATE" and ensuring that the SELECT and the INSERT
are wrapped in the same transaction.

[#71048544]
Update some documentation on get_first_unanswered_appearance
update CHANGELOG
Merge branch 'appearance-creation-transaction'
pairwise 3.2.1 release