Consolidate multiple calls to pathinfo

The previous approach called pathinfo 3 times to get three discrete
values. By using an adhoc task, it only needs to be called
once.

The filehash task has also moved to the same adhoc task, but only for
the sake of tidiness.