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
Ideally we shouldn't reference CMS/Sitetree anywhere in here, since this is a separate module.

Try:

`Gets the link for this file relative to the site root`