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`.
It has no sense to remove our AbstractUserInterface. This change seems to be good, but maybe the name is not correct. We could name it UserInterface as well, like the Symfony one.