LDEV-1134: Adding more support for the tool output based branching. Added a couple of simple tool output definitions for MCQ and Forum and added a class to the core to help tools create the tool output definitions (OutputDefinitionFactory), which required a change to MessageService. Also added the call to the core tool service to support calling the tools for their output definitions and new method call to ToolContentManager, requiring a change to all tools.
LDEV-1302: Improving the performance in learner by improving the user attempt calls to the database and removing some of the iterations in the logic that made more database calls than necessary. LDEV-1304: Fixing up the marking, which was incorrect if questions were worth more than 1.