Changed AbstractUser interface hierarchy

`AbstractUserInterface` now inherits from symfony `UserInterface`.
Before this change, only `AbstractUser` was implementing `UserInterface`.
`CustomerInterface` and `AdminUserInterface` were extending
`AbstractUserInterface`, making it possible to inject into collaborating
objects a User that does **not** implement `UserInterface`.
Spot on @cordoval. I also don't like it. Let me check if we have something that depends on `AbstractUserInterface` and if we can remove it.