Use dictionary instead of array to prevent split changes.

Changeset components for a new area can be in an unexpected order, this patch fixes an issue (#1722) where they could show up in the commit confirm as 'point, area, point(s)' instead of 'points, area'.

The trigger for the issue appears to be that the changes for a newly created area consist of the first point, the way and then the rest of the points. Changing zipSame seemed less invasive than altering the way changesets are created.

There is still room for more clever bundling and representing the changes for the commit review but that is probably best left to another issue.