sync: Add ModelNeutralMutableEntry

Add a ModelNeutralMutableEntry that exists between Entry and
MutableEntry in the hierarchy of syncable::Entry classes.

This new class inherits all of Entry's getter methods, so it can has the
same ability to read from entries as the current Entry and MutableEntry
classes.

All the setter methods from MutableEntry that are not model-changing
have been moved into ModelNeutralMutableEntry.  The non-model-changing
setters are those whose mutations do not need to be communicated to the
model-specific change processors.

Because we know can guarantee all changes made through the
ModelNeutralMutabeEntry functions will not need to be relayed to the
change processors, it would be safe to skip calling SaveOriginal() in
its setter functions.  For now, though, we leave these setter functions
unmodified.

BUG=284672

Review URL: https://chromiumcodereview.appspot.com/23549038

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