Extract class for parent resolving

Basic refactoring
Normalize filenames

File paths contains the path to workspace on slave,
so when there's multiple slaves, annotations can have different
filenames.