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.
@Ocramius I understand it is a static constructor. I, as a consumer, want to construct EntityManagers in contexts where using static access is a problem. And I still want to have the validation logic that is currently on the static constructor.
So I, as a consumer, have a reason to refactor this logic out of the static constructor and into a Factory.

Is there room for discussion, or should we close this one too?