minor fix to evaluators, make perform blocks behave like other tasks with respect to return values.

changed GroovyActionTask and TargetDelegate.perform so that a perform block in a target in a lenskit evaluation will behave like other tasks, returning a value that can be the value of the target if the perfom block is the last task in the target