* Add name and expected_output to TaskOutput
This commit adds task information to the TaskOutput class. This is
useful to provide extra context to callbacks.
* Populate task name from function names
This commit populates task name from function names when using
annotations.