Use gmock instead of gtest

Future tests call for mocking objects (e.g. Question-s).
gmock seems like a good method to mock objects.
Remove unnecessary parameter names from prototypes
Assert false is returned upon invalid parameters
Make DependencyDelegate optional in AnswerContext

Tests don't wish to give a dependency delegate.
Write test ensuring AnswerContext enqueues Question

Caught a bug in AnswerContext.
Factor mocks into separate file

Fix (or worked around?) a bug where duplicate lambdas were
being generated, causing symbol collisions.
Fix assert if QuestionQueue is not empty upon deallocation