Allow orderBy to reference associations

If I specify an order-by clause on a to-many association, e.g. `@OrderBy({"foo" = "ASC"})`, where foo is a to-one-association on the target entity, the collection is sorted by foo_id (this behaviour is implemented in BasicEntityPersister::getOrderBySQL()).

This works fine. However, Doctrine\ORM\Tools\SchemaValidator complains that foo is not a field.

This change makes the validator accept order-by clauses on associations where the target entity is the owning side, and the association is single-valued (AFAICT this is the same restrictions that BasicEntityPersister uses).
I would actually change the order of the code to avoid doing the check twice:

```php
 if ($targetMetadata->hasAssociation($orderField)) {
    if (!$targetMetadata->isSingleValuedAssociation($orderField)) {
        // ....
        continue;
    }

    if ($targetMetadata->isAssociationInverseSide($orderField)) {
        // ...
    }

    continue;
}

if (!$targetMetadata->hasField($orderField)) {
    // ....
}
```