refactor(i18n): decode and sort translation strings

- rename vklang.js to i18n.js
- decode i18n strings using IDL() which is used runtime
- don't decode strings in IDL()
- add "charset=UTF-8" attribute to injection <script> tags
(vk.com uses cp1251)
- sort strings (case insensitive)
- beautify i18n.js
fix(maxthon meta): allow to run on "*"

Use "*" wildcard for "httpRequest" permission in def.json, it
just works so.
fix(dislikes): use the new VK host app instead of an old one

Replace old app ID with app.vkApi.APP_ID
Missed this one previously.
feat(meta): add basic .gitattributes

Force Git to use Unix-style line endings in commits and in
working directory.
Mark "*.exe" files (Maxthon packager currently) as binary, meaning
line ending rule doesn't apply to them.
docs(ajax): add "headers" option to docs

Oops, missed that.
feat(ajax): add "query" option

Allow to explicitly specify query params in "query" option.
You can now specify GET params on POST request.
fix(vkApi): fix typo "vkApi.requests" > "vkApi.request" in error message
feat(dislike): add app.dislike module

Add app.dislike module with methods request(), add(), and remove()
to source/run-in-top/dislike.litcoffee
Add docs and tests to test/dislike.test.litcoffee
feat(dislike): add app.dislike.count() method

Add app.dislike.count() method which fetches { count, isDisliked }.
style(dislike): fix line wrapping in _parseHashValues
fix(dislike): normalize object ID in request()
feat(dislike): cache widget hash values in _getHashValues

Add app.dislike._getHashValues() method which calls
_fetchWidgetHtml() and _parseHashValues(), and then caches results.

Use it in app.dislike.request()
fix(dislike): use @ instead of app.dislike inside methods
style(dislike): remove trailing tabs
feat(dislike): cache dislikes count in count()
fix(dislike): in vk_tag_api use app.dislike.APP_ID as app id

Replace app.vkApi.APP_ID with app.dislike.APP_ID
style(dislike): from vk_tag_api remove commented code
fix(dislike): rewrite vk_tag_api.get_tags() with app.dislike.count()
fix(dislike): in vk_tag_api.get_users() use app.vkApi.request()

Replace api4dislike.call() call with app.vkApi.request() one.
fix(dislike): don't use cache and queue in vk_tag_api.get_dislikes()