Adding functionality and tests to QAController.

Added the ability to create a comment or answer, or query for children based on just the unique id of the parent -- the parent object itself is not required. This should make UI code much nicer, where it is very easy to set the tag on an item to a unique id (for example, when creating a reply) and then just creating a child based on that id.

Also added more comprehensive tests to the QAController, as per Victors Part 2 feedback.