Update translate.js

Added that use method returns promise object
Update translate.js
feat(translateService): missingTranslationHandler receives language

Currently the missingTranslationHandler is only invoked with the
missing translationId. For completeness it is important to pass the
full context, namely the language this translation is missing for.

This aids developers in decoupling their missingTranslationHandlerFactory
from the $translate service.
Load fallbackLanguage

separate load and uses. Load fallbackLanguage if needed
Add tests
feat(translateService): adds method to configure indicators for not found translations

- adds translateProvider.translationNotFoundIndicatorLeft()
- adds translateProvider.translationNotFoundIndicatorRight()
- adds translateProvider.translationNotFoundIndicator()

the latter makes use of the former two methods. this means you could set
both indicators explicitly if needed.

Closes #77
Use angular.isFunction
Throw error if no key is specified
Throwing test

Expect load() to throw an error if no language key is specified
feat(translateService): extracts default interpolation in standalone service
Add some tests

test that we can load languages without using them and that
fallbackLanguage and preferredLanguage are automatically loaded
Test fallbackLanguage
Change deferred arg on load

Change ```$uses``` for ```key``` since we are not using the language
anymore
update version
Add tests
Throwing test

Expect load() to throw an error if no language key is specified
Check for specific error
Split tests
Remove unnecessary preferredLanguage
feat(messageformat-interpolation): implements usage of messageformat