Remove useless shared in ServiceManager

Shared or not a service as no sense, because a service shared is
register in "instances" array, and "setService" register automatically
in "instances" array. With "setService", all is always shared !
Remove initializer and keep injector in the "get" method
Fix typo
Create an ArrayObject that actually mimics the PHP array object but returns things by reference, merged items to leverage new ArrayObject
Merge branch 'weierophinney-hotfix/3650'
Merge branch 'weierophinney-hotfix/3650' into develop
Merge branch 'hotfix/3625' of https://github.com/weierophinney/zf2 into weierophinney-hotfix/3625
Merge branch 'weierophinney-hotfix/3625'
Merge branch 'weierophinney-hotfix/3625' into develop
Update library/Zend/Log/Writer/ChromePhp.php

Fixed typo from $inatce to $instance
:Merge branch 'master' into oracle_fix
Proper typehints in ServiceLocatorAwareTrait

The typehints are wrong. Either import the ServiceLocator class, or, what's the right thing, declare the types as what they are: ServiceLocatorInterface.
Removed the @ operator in Log\Writer\Mailtest
Merge branch 'intellix-patch-3'
Merge branch 'intellix-patch-3' into develop
Merge branch 'patch-1' of https://github.com/demonkoryu/zf2 into demonkoryu-patch-1
Merge branch 'demonkoryu-patch-1'
Merge branch 'demonkoryu-patch-1' into develop
Do not reset $id if found

- Pointed out by andrer in #zftalk.dev
Write test for HEAD behavior with identifier

- Wrote test to prove that HEAD is being called with identifier when
  found; failed before change, and works afterwards