Use boolean values for 'unique' attribute

As defined in: https://github.com/doctrine/doctrine2/blob/master/doctrine-mapping.xsd#L294

Same as 'nullable' attribute. 

It was being exported as a "1" for TRUE and "0" for false
Added test to ensure boolean metadata is properly exported/serialized to XML
Merge branch 'DDC-3041' into 2.4
Failing Test (since commit 53a5a48aed7d87aa1533c0bcbd72e41b686527d8)

Hi,

It seems to be a regression since the commit https://github.com/doctrine/doctrine2/commit/53a5a48aed7d87aa1533c0bcbd72e41b686527d8

Doctrine\ORM\PersistentCollection can be populated in $changeSet if you set a PreUpdate and PostUpdate event.

Original issue: http://www.doctrine-project.org/jira/browse/DDC-3033
Update DDC3033Test.php
Update DDC3033Test.php
[DDC-3033] Fix bug in UnitOfWork#recomputeSingleEntityChangeSet.

The fix for DDC-2624 had a side effect on recomputation of
changesets in preUpdate events. The method wasn't adjusted
to the changes in its sister method computeChangeSet() and
had wrong assumptions about the computation.

Especially:
1. Collections have to be skipped
2. Comparison was changed to strict equality only.
[DDC-3033] Clarify restrictions in events.
Merge branch 'DDC-3033' into 2.4
[DDC-2996] Fix bug in UnitOfWork#recomputeSingleEntityChangeSet

When calling UnitOfWork#recomputeSingleEntityChangeSet on an entity
that didn't have a changeset before, the computation was ignored.
This method however is suggested to be used in "onFlush" and "preFlush"
events in the documentation.

Also fix a bug where recomputeSingleEntityChangeSet was used
before calculating a real changeset for an object.
Merge branch 'DDC-2996' into 2.4
[DDC-3018] Fix string literals in new operator.
Merge branch 'DDC-3018' into 2.4
allow passing EntityManagerInterface when creating a HelperSet
Merge branch 'DDC-2997' into 2.4
Disable SQLServer platform related test, because of a wrong merge into 2.4