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`.
@mmoreram exactly, one solution is to rename it `UserInterface`, `ElcodiUserInterface` or something like this. The problem is that we once defined an header interface for an abstract class.