2454: fixed bug when switching languages.

We were only reloading the subtitles list when the version number
changed.  So if a bunch of languages had the same last version number,
switching between them wouldn't do anything.

Also fixed the loading code so that:
  - It doesn't try to load the same subtitles over and over
  - It uses $evalAsync so that it doesn't try to load the subtitles
    before all the directives/controllers have initialized.