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.
Merge pull request #303 from elcodi/fix/changed-abstractuser-interface-hierarchy

Changed AbstractUser interface hierarchy