chore(refresh): Avoid table deletion before a version is loaded

Deletes a current translation table only if it's new version is loaded successfully.

To achieve such behavior the loadAsync() and uses() were rewritten.
The loadAsync() method is now responsible only for loading a translation table.
A responsibility of handling $nextLang is moved to uses() to increase a reusability of
loadAsync() method.

Lines
$rootScope.$broadcast('$translateChangeError');
are added to the refresh() method to avoid breaking changes (see tests).
chore(refresh): Coding style (for loop)

Change the coding style of the for loop
Merge pull request #211 from DWand/chore-refresh

chore(refresh): Avoid table deletion before a version is loaded