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
I'd recommend describing what this method actually does. :)

`Gets the link for this file relative to the site base url`