Implemented curcular alias reference detection

ServiceManagers that allow overwriting the service definition may
contain circular references which will cause an infinite loop. 
Extracted alias resolving code to a protected method that will detect
circular references.
cs fix
Removed unneccessary import for exception class
Fixed typo in unit test covers annotation
Added check for circular alias reference to setAlias()
Merge pull request #5100 from tux-rampage/sm-cyclic-alias-ref

[ServiceManager] Implemented circular alias reference detection
[#5100] CS fixes

- one argument per line (sprintf call)
Merge branch 'hotfix/5100'

Close #5100