Added ability to take Surveys/Tests

Added the ability to take created Surveys and Tests. Required the
reorganization of the Question hierarchy. The newTaker() method
originally planned was scrapped and modified into a new "answer" method,
which calls an abstract "addNewTaker()," which is implemented by
subclasses. A minor hack was placed into ShortAnswerResponse now so it
can act as the Response class for Essays as well.