Fix subtasks-file lookup to not fail when preloaded from another file

Before this change, plugin failed to lookup a subtasks-file when
a task with this subtasks-file was preloaded using a task
reference [1]. While preloading a task, all the subtasks are copied
to the current task. Since the subtasks-file property was a String,
it does not maintain the information regarding the location of the
subtasks-file. Thus, fix this issue by using ConfigSourcedValue as
the type for subtasks-file property, which helps in tracking the
location of the subtasks-file. Add tests for the same.

[1]
file: `All-Projects:refs/meta/config:task.config`
```
[root "root task"]
    applicable = status:open
    preload-task = %sample group^Sample task with subtasks-file
```

file: `All-Users:refs/groups/<uuid of sample group>:task.config`
```
[task "Sample task with subtasks-file"]
  applicable = is:open
  pass = is:open
  subtasks-file = bar.config
```

file: `All-Users:refs/groups/<uuid of sample group>:task/bar.config`
```
[task "Sample task"]
  applicable = is:open
  pass = True
```

Change-Id: Icb1c548655eace95fefa2093bdc827276e0908d8
3 files changed