Return Optional<Task> in Task.Config

Instead of returning null when a task is not available, return an
Optional<Task> to help clarify expectations and make maintenance easier.
To avoid API confusion with java Optional, use the term "expression"
instead of "name" and "optional" for task expressions which can be
optional, and improve the docs.

Change-Id: Ifb4b6556e0a87ebbebb4b57d5f22b985ea87c695
3 files changed