Fix bug in Periodization.getTimespan

That and the template didn't deal properly with periodizations that had
no periods defined
Add loading icon to source LD fetcher