chore(*): add some steps in contrib on how to checkout based on canary
Bump for next version
feat(service): introduce `versionInfo` function

docs(guide): new versionInfo function
chore(grunt): grunt task for version inclusion
docs(guide): update chinese docs about versionInfo
docs(guide): update uk/ru docs about versionInfo

Paragraph about gaining a version information of the library is translated into Ukrainian and Russian languages.
docs(guide): update french docs about versionInfo
docs(service): fix wrong arguments of $translate.instant()

Closes #672
Rework .gitignore
Add silence to global dependency installing
Reduce the resources of a published npm release
Let point npm's main file to generated artifact
Introduce npm user script `shipit`

Ensure all bower resources are up to date and creating all release files.

Introduce new grunt task `pre-release`

`release` behaves just as `build` except running only headless tests.
chore(*): introduce a reworked workspace and npm registry publishing

Merge branch 'feature/npm-provisioning' into canary

* efficient build for npm with a dedicated .npmignore
* cleaned .gitignore
* new npm `run-script shipit` preparing a build (replacing old `grunt build`)

Closes #710, #255
fix(service): correctly iterate in fallback languages (fixes #690)
chore(tests): avoid running debug tests in task `test-all`
feat(service): prefer detecting language by `navigator.languages` #722
fix(filter): mark filter being stateful required since Angular 1.3 rc2
fix(filter): interpolated params w/ scope aren't possible starting AJS1.3

BREAKING CHANGE: Since filters are stateless and have no access to its scope anymore (see https://github.com/angular/angular.js/commit/8863b9d04c722b278fa93c5d66ad1e578ad6eb1f), a context must be given explicitly. This removes the feature of an interpolation based on the scope (context), even without the $rootScope.

However, the feature will still work in AJS <=1.2, so we won't remove it completely yet. Handle the feature as slightly deprecated.
feat(service): enrich events with the currently handled language key
feat(loaders): introduce loader cache

It useful if we disable cache for dynamic content, but want enable it for translation files (static content).
Also it useful if we need include translation into build file (cache in advance for production).

```js
app.run(function($translationCache) {
    $translationCache.put('/compiled/module1/locals/en.json', '{"MODULE1.HELLO":"Hi!"}');
    // Other translations string added by Grunt
});
```

feat(cache): introduce customizable loader cache

* `$translationCache` is fully flexible a string (name of an instance) or an instance itself
* `$translationCache` could be `true` for an AJS internal default

New feature usage:

```js
$translateProvider.useLoaderCache(false) // disable any cache (default behaviour)
$translateProvider.useLoaderCache(true) // use `$http({cache: true})
$translateProvider.useLoaderCache() // use our internal default `$translationCache` (actually `$translateProvider.useLoaderCache('$translationCache')`
$translateProvider.useLoaderCache('cacheService') // use the given identifying cacheService
$translateProvider.useLoaderCache(cacheService) // use the cacheService
```

This also introduces the feature loaders are provided with the option `$http` for additional standard params. Currently, only `$http.cache` could be defined.

Closes #529