Ignore transient rows during re-parenting.

When editing, we create template rows such as StructuredName
and Photo, which may be trimmed before persisting if they
remain empty.  When a background change occurs and we need
to re-parent the users changes, we didn't handle this
special case, and treated these trimmed rows as inserts,
which triggered the reported missing MIME-type exception.

This change watches for "transient" rows that didn't exist
previously, but were inserted and then deleted during the
process of editing.  When encountered, they are ignored
during re-parenting, instead of turning into inserts.

Added a unit test to verify correct behavior, and also wrote
values-level verification for the existing unit tests.

Fixes http://b/2167925
3 files changed