Add DOM Distiller syncable service

This adds DomDistillerStore which maintains the in-memory model of
the DOM distiller list. It implements SyncableService and keeps three
things consistent, sync, the local db, and the "user". Whenever a
change is received from one of these three, it is applied to the model
and each of the three sources are sent the "diff" between there 
eventual state (i.e. after already sent messages are applied) 
and the in-memory model's current state.

There is currently no support for deleting entries once they are
added to the list.

BUG=297789,288015

Review URL: https://codereview.chromium.org/24096015

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226832 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 226832