fix(directive): change event for listening to `$translateChangeEnd`

Under some circumstances, the cloak was not be removed:
* the translations are already stored (not via custom loader)
* no customer loader defined anyway

This changes the listening event to the change-end phase, which will be
invoked always.

Fixes #658
fix(directive): improve the cloak-directive's performance

This removes the listener immediately it was invoked the first time.