Refactored construction of the EntityManager out to an EntityManagerFactory

Added tests for the factory (needed to refactor the OrmTestCase so I could reuse mock config and mock connections).

This pattern is well established in Hibernate, I've been wondering why we don't have it in Doctrine.
Doesn't really need to be moved to its own factory