#32 Add support of goal annotation for Anything() and Outcome(Context)

Before, only Task() and {Task*} functions were supported by goal
annotation, now, Anything() and Outcome(Context) are supported too.

Task() and  {Task*} should be used when getting the task from a third party
module in which case, you just need to associate a goal to this task.

But when you want to implement a task and associate a goal to it at the
same time, Outcome(Context) and Anything() shortcuts can be used.

Outcome(Context) should be preferred to Anything().
Anything() can be used when there is no need of the context for that task
and that the task will not return its execution status to the engine.