Removing duplicate code and keeping File API consistent

- Removing repeated code for `Link` and `URL`
- Adding comments to `Link` functions
- Joining links correctly

Personally, I'd be in favour of deprecating `getURL` and `getAbsoluteURL` in favour of keeping a consistent API with `SiteTree`, but this is a solution to keep both happy without redundantly implementing the same functionality but with slight differences