Configurable clean gateways

Fase 1:
- Clean up the gateways, no serviceLocator needed
- Make gateways configurable (with custom factory)
- Make sure doctrine is cross platform (ODM, ORM, ...)


TODO:
Fase 2:
-  Make gateway configurable per Route instead of global (e.g. use 2 different objectManagers in the same project)