Create a TaskExpression with unit tests

Simplify optional Task RE pattern and approach in the new class since
the previous regular expression was difficult to understand and
apparently very slow and hard to make an iterator with.

Change-Id: I8271ae26dba51d6e5f0543528e8cc8cc8210ec26
5 files changed