$unset empty array collections or null embed many field values.

closes #597
unset when new value is null only
added test case for ReferenceMany mapping
Do not unset EmbedMany fields in PersistenceBuilder

If an EmbedMany collection field is set to null, the original PersistentCollection is scheduled for deletion in UnitOfWork::computeOrRecomputeChangeSet(). Unsetting it in PersistenceBuilder would lead to a duplicate $unset query.
Merge pull request #598