[Sync] Fix undeletion during commit logic
We were relying on the SYNCING bit to track whether a commit has begun or not.
This will not work in all cases, as any modification actually unsets the
SYNCING bit, thereby making it unreliable as a source for whether a sync cycle
has started for an entity. To fix that, introduce a new DIRTY_SYNC bit that
is only modified when a entry becomes dirty during a sync cycle. SYNCING can
then better match it's name, and will stay true until the sync cycle ends.
BUG=466098
TEST=repeatedly bookmark a page then remove the bookmark
Review URL: https://codereview.chromium.org/
1048933003
Cr-Commit-Position: refs/heads/master@{#323388}