UniqueEntity failed to invalidate new collections with duplicate values

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | no
| Fixed tickets | -
| License       | MIT
| Doc PR        | -


Basically I run over the same problem as described here:
http://stackoverflow.com/questions/11782056/how-to-validate-unique-entities-in-an-entity-collection-in-symfony2
In other words, if you have new entities collection and it contains at least two objects with same values on unique field then validator does nothing, allowing to proceed orm with inserting data which ends with "SQLSTATE[23000]: Integrity constraint violation".
The problem is that validator is unaware of collection as a whole, and it only validates against db.

So I thought I could try to fix even though problem is not trivial and solution I came with isn't great too (again, because validators are unaware of collection as a whole). But without it UniqueEntity is kinda useless right now.

The most important part is testValidateUniquenessForDuplicatesInCollection. However additionally I've changed tests to actually use entity with defined unique constraint, so test could be more reliable. Test testValidateUniquenessAfterConsideringMultipleQueryResults immediately failed after that change as it is broken by design. You can't persist record "foo" for field name twice if assumption was that field name is unique - so I fixed that test too.

Anyway, feel free to merge that as a whole, merge only some commits, change whatever need changes (or ask me to do that) or point me to completely different solution.

Todo:
- [ ] Tests passes on my dev env, but not in travis

```sh
1) Symfony\Bridge\Doctrine\Tests\Validator\Constraints\UniqueValidatorTest::testValidateUniqueness

Doctrine\Common\Annotations\AnnotationException: [Semantical Error] The class "Table" is not annotated with @Annotation. Are you sure this class can be used as annotation? If so, then you need to add @Annotation to the _class_ doc comment of "Table". If it is indeed no annotation, then you need to add @IgnoreAnnotation("Table") to the _class_ doc comment of class Symfony\Bridge\Doctrine\Tests\Fixtures\UniqueConstraintEntity.
```