FIX: Broken file link tracking (fixes #996)

List of changes:

- Switched `SiteTree` linking to use `SiteTree::get()->byID($id)` instead of `DataObject::get_by_id()`
- Removed the attempted ‘ss-broken’ class removal - this never worked: the class attribute was changed but this modified field data was never added to the record.
- Fixed link tracking for files to be parsed from shortcodes instead of scanning for the presence of `ASSETS_DIR` in the href
- Allowed spaces in the link shortcodes for legacy CMS support

If it’d be preferred, I can re-add the old file link tracking (that searches the href for `ASSETS_DIR`) in case any legacy CMS content is relying on that.