Moved methods that get or mutate tasks from the TaskEngine to Task.
Removed the need for every digester to implement its own mapping, the TaskEngine does this now.
Merge branch 'master' into improvement/cleanup-1
Fix wrong clearTimes()..
Fixed tasks that are not executed because their dependencies have failed not being marked as failed.
Fixed breaking encapsulation by returning Collections instead of Iterables in TaskEngine.
Rename BidirectionalMultimap to BidirectionalSetMultimap because it contains SetMultimaps (unique key-value pairs).
Merge branch 'improvement/cleanup-1'