Allow upgrading of language packs, use sprintf.js, and some refactorings in update_languages.js

This solves a couple of things:

1. Fix issue #1118: There's now an upgrade button that sees if there's a higher version in the central server. If so, it shows the link for upgrading, as well as showing what changed.

![2013-11-28-190724_1366x768_scrot](https://f.cloud.github.com/assets/191955/1642863/64aad4e4-58a4-11e3-9a46-40e31086e566.png)

2. Import sprintf.js, and use that inside `update_languages.js`.

3. Some refactorings in `update_languages.js`, mostly separating code into its own functions.