[WIP] Mapped superclass

Refactored classes to allow usage out of the box or ease ability to override classes used
btw, you could make this forward compatible with symfony 2.6: https://github.com/symfony/symfony/pull/10853 - passing a second array that defines the namespace alias for talking with doctrine to have the same behaviour as when a namespace is automapped.