Simplify record-keeping of past speakers selected for a sentence.

The history of which speakers were selected for a sentence is kept in the set of tasks for that sentence.

Keeping a SentenceSpeaker table around basically duplicated this, and the ordering that was imposed on it ran into occasional race conditions, getting some sentences' speaker_state getting stuck in 'editing' due to an exception raised during the processing of the speaker task.