Support for order by association (for 2.3 branch)

I need to `@OrderBy` an association, which does not work in `2.3` but I found the pull request https://github.com/doctrine/doctrine2/pull/549 by @FabioBatSilva who has implemented this in branch `2.4`.

I have copied the code, adjusted it for `2.3` and tested it in a real life application ;-)

The original pull request is related to [Doctrine Issue #2241](http://www.doctrine-project.org/jira/browse/DDC-2241).
The ordering of associations has been implemented in [Doctrine Issue #195](http://www.doctrine-project.org/jira/browse/DDC-195).

Please integrate this into `2.3` because `2.4` is not stable until now and thus it is not usable for many people.