refactor DDRLocalCollection.entities so it sorts correctly

- Used DDR.natural_sort instead of natural_order_string.
- Sorted the entity paths rather than the instaniated Entities.
more defensive coding of File.links methods

So we don't crash if there are no links, or vars used to make
paths used to find links are not as they should be.