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
Major update of catalog directive

With this commit the catalog tree directive no longer listens to "language change" events. Instead it relies on the labelsOnly flag, as the background layer directive.
Fix catalog tree tests
Merge pull request #535 from geoadmin/fix_lang

layersconfig loaded with lang=undefined