Lang falls back to default while it shouldn't

If the translation directive got the gaTopicChange event before the translations (e.g. fr.json) were received then we fell back to the default language. This was wrong. This commit fixes it by using scope.lang instead of $translate.uses() as the current lang when verifying whether the topic supports the current lang.
gaLayers may send requests with lang set to undefined

If the gaLayers service gets the "translate change" event before the "topic change" event then it will send a layers config request with lang set to undefined in the URL. This is not correct. The gaLayers service needs both a topic and lang before sending a layers config request.
Add topic id to gaLayersChange events
Catalog need to listen to gaTopicChange