ORM Criteria

```Doctrine\Common\Collections\Criteria``` has quite a few lacking functions such as relationships and a paginator/countable tool.

What this component does is instead of converting the criteria directly to SQL in the Doctrine2 internals it creates DQL using the query builder so it's a bit slower then the d2 implementation but not much! 

Goals
- [X] Handle the basic criteria stuff
- [ ] Relationships