Massive refactor ... again ... and in one big commit. I'm a bad man.

Removed a lot of the bespoke shuffling of questions and simplified
question generation.

Made TestFactory a TestBuilder.

Removed knowledge of answers from Question

Removed knowledge of test position from Test

Removed rendering knowledge from Question

Test is now just a List<Question> subclass... not sure if this is a good
thing or not

Created Answer class to hold whether a question has been answered
correctly and how long it took to answer the question.

Next stop: refactoring TestActivity.

BLESS THIS MESS.
Adding to the TestRunner. Extracted state to make it possible to freeze
and unfreeze it.