Add subtopics array to the Topic schema

It gets populated in QuizService.createTopic. Also, a pre-remove hook removes the subtopic from the parent topic's subtopics array when deleting.

TO DO:

- Couple tests failing right now because things are coming back in the wrong order (both quizzes and topics). Order is not yet being enforced in any way right now - this needs to be fixed.

- For consistency, it may be better to use a pre-save hook to populate the subtopics array (since a pre-remove hook cleans it up). There are a lot of things that QuizService.createTopic and QuizService.deleteTopic are doing that really should be implemented as pre-save and pre-remove hooks. However, things that require accessing the User schema might not be possible to do due to circular requires between quiz.js and user.js (which was the whole reason for creating the QuizService in the first place), so I'm not sure yet what the right balance is, or if maybe everything should just be done in the quiz service.