Add .ts as a XML extension for Qt translation files

This pull requests adds XML as an extension for Qt translation files with a new heuristic rule and replaces #1378. It fixes #1759, #917 and #498.

The heuristic is based on the fact that all Qt Transaction file must have a `TS` element. If a file doesn't have that, we know that it's a TypeScript file.

      | Actual language | TypeScript | XML
------|-----------------------|-------------|--------
[bitcoin/bitcoin](https://github.com/bitcoin/bitcoin.git) | XML | 0.00% | 100.00%
[dogecoin/dogecoin](https://github.com/dogecoin/dogecoin.git) | XML | 0.00% | 100.00%
[qbittorrent/qBittorrent](https://github.com/qbittorrent/qBittorrent.git) | XML | 0.00% | 100.00%
[tomahawk-player/tomahawk](https://github.com/tomahawk-player/tomahawk.git) | XML | 0.00% | 100.00%
[gottcode/tanglet](https://github.com/gottcode/tanglet.git) | XML | 0.00% | 100.00%
[MythTV/mythtv](https://github.com/MythTV/mythtv.git) | XML | 0.00% | 100.00%
[mumble-voip/mumble](https://github.com/mumble-voip/mumble.git) | XML | 0.00% | 100.00%
[Microsoft/TypeScript](https://github.com/Microsoft/TypeScript.git) | TypeScript | 100.00% | 0.00%
[raph-amiard/sublime-typescript](https://github.com/raph-amiard/sublime-typescript.git) | TypeScript | 100.00% | 0.00%
[k-maru/grunt-typescript](https://github.com/k-maru/grunt-typescript.git) | TypeScript | 100.00% | 0.00%