Fix bugs in ComponentsEntityCollection

1. `onCollectionChanged` handling was not properly resetting a value to undefine for each iteration of a for loop, leading to the first entity incorrectly being the target for all merged properties.
2. Fix bug in `Entity.merge` which was causing custom properties registered on the source entity to not propagate to the target entity if they did not already exist.
3. Added specs to expose both issues.

Fixes #2180
Merge pull request #2185 from AnalyticalGraphicsInc/composite-fixes

Fix bugs in CompositeEntityCollection