added null checks to LocatedTask
fixed naming in SandboxImpl
renamed DefinitionNode -> Node, the same for friends
added LocatedNode, LocatedNodeImpl, got rid of AbstractNode, reused LocatedNode instead
added null checks to CachingTask
added Task.isInternal()
refactored out SandboxFactory from TaskExecutor
TaskExecutor does not print MessageGroup when it does not have any messages and task is internal
changed formatting of text printed by UserConsole
changed names of phases' MessageGroups
changed CodeLocation.toString() to contain name of script file
refactored SandboxImpl to take LocatedTask
added null checks to MessageGroup
added codeLocation to message group name in sandbox
changed CodeLocation.toString()
SandboxImpl no longer wraps Messages into WrappedCodeMessage
removed unused WrappedCodeMessage
fixed TaskContainer so it caches result so it is calculated at most once