Fix gaLayers.loadForTopic

There were multiple problems:

(a) the translationChangeSuccess listener relied on a "lang" argument. There's no such argument. $translate.uses() should be always be used to get the current language.

(b) the translationChangeSuccess listener used me.currentTopicId to refer to the current topic. It's incorrect. me.currentTopicId is always undefined. This commit fixes it by relying the local currentTopicId variable only.
Small optimization to the topic directive

Do not call setActiveTopic twice if there's not topic set in the permalink.
Make jslint happy

jslint doesn't like variables defined within "for()"
Avoid dereferencing when not necessary
Simplify gaLayers API

The getOlLayerById and getBackgroundLayers functions no longer need to return promises. By listening to gaLayersChange events, users of the gaLayers service can be guaranteed that the layersconfig request has complete when they call getOlLayerById and getBackgroundLayers.