Fix windows path problem

- fix directory seperators in file node hashes
- use node objects to locate file nodes in result (to use correct hashes)
- use traits for nodes to reduce duplicate code