Segregated Translator/TranslatorAware interfaces for Validator

- Allows validator component to use I18n as an optional dependency, by defining
  TranslatorInterface and TranslatorAwareInterface internally.
- MVC component contains a bridge class that extends i18n Translator,
  implementing the validator TranslatorInterface
Create alternate Translator factory

- that creates and returns the bridged interface
Add bridge Translator service factory to service config

- To ensure the bridge version is used, if ever retrieved.
CS fixes

- per php-cs-fixer
Better descriptions for I18n and ServiceManager deps
Move TranslatorServiceFactory

- from Zend\Mvc\I18n to Zend\Mvc\Service (per @akrabat)
Update service configuration for translator

- due to previous commit
Allow DateTimeFormatter to format zero.

This addresses the note raised in issue #4393 after merge that zero is a
valid UNIX timestamp.
Merge branch 'feature/i18n-segregated-interfaces' of github.com:weierophinney/zf2 into pr4391
Merge branch 'pr4391'
Close #4391
Merge pull request #4398 from akrabat/hotfix/4393b

Allow DateTimeFormatter to format zero.
Merge branch 'hotfix/4398'

Close #4398
Fix BC break in resetParameters signature

- Even though the signature was technically still BC compatible, any extension
  that did not define the second optional parameter would raise a fatal error.

- Solution was to remove the argument, and check for it with
  func_num_args/func_get_arg.
Merge branch 'pr4411'
Close #4411