Creates repository factory

Having read through #20, I'm not sure if this is within scope for the library, but I thought I'd make the PR anyway.

When making use of the library, I found myself wanting to use the EntitySpecificationRepository for the default implementation of repositories using `$em->getRepository("Entity")` when `Entity` doesn't have a specific repository. I suspect that the implementation of the factory and base class will be largely the same in almost every consumers codebase, so I figure providing somethign standard out of the box can't hurt.

Example
```
$cfg = new \Doctrine\ORM\Configuration();
$cfg->setRepositoryFactory(new \Happyr\Doctrine\ORM\EntitySpecificationRepositoryFactory());

// Later on

use 
/** @var \Happyr\Doctrine\Specification\EntitySpecificationRepository $repo **/
$repo = $em->getRepository("Entity");
```