Moving from a tool activity to a grouped tool activity was throwing an exception as the "create tool session" code (which calls the tool to create the tool session details) was being called within the tool context.
Moved the call to create the tool session into LoadToolActivityAction so that it will always be run within the lams-learning war context and hence all the tools' beans are available in the Spring context.
To try to stop this sort of problem occuring again (ie a tool calling code that relies on all tools' beans being in the context) the ILearnerService has been split into two interfaces. ILearnerService now only contains the one method that should be called by tools (to complete a tool session). All other calls are in ICoreLearnerService. Any of the core modules may use the ICoreLearnerService but only tools should use the ILearnerService.