CrawlerMessageItem should only know relative paths

Rename the `FilePath()` method on the `CrawlerMessageItem` interface to
`RelativeFilePath()` and change its logic accordingly so that it only
returns a relative file path, to which we append the mirror root
directory in `WriteItemToDisk()` in `workflow.go`.

This better separates the concerns of the workflow versus
`CrawlerMessageItem`, which should not concern itself with the mirror
root.