Return service name on `ServiceLocator`’s `register`
Return service name on `ServiceLocator`’s `register`

- Created `ServiceName` `typealias` to represent a service’s name.
- Changed `register` API’s to return the given/generated `ServiceName`.
- Changed `ServiceLocatorError`’s associated values to contain
`ServiceName`’s on duplicate services errors and `Any.Type` on the
type mismatch ones.

Mindera/Alicerce,Mindera/Alicerce,Mindera/Alicerce