Feature/translate attributes

Replaces #683

I have re-implemented the old behavior which was removed by @red-one in #683  (accidentally or intended?) 

So in addition to #683, this enables:

* changes of a translationId (could be more than 1 now) will only stored in the scope without re-invoke the process of (async) translation
* add one watcher for all translationIds (just like before).

This will hit the translation service only if it is required (in one digest).