Add EasSyncCollectionTypeBase and its mail sync subclass.

Each collection type (mail, contact, calendar, and eventually more)
has certain details in the request formation and response handling
that differ by type. Rather than subclass the operation, it seems
better to put these details in a different class.

Longer term, this decoupling should make it easier to eventually
send a single sync request for all collections, rather than one
per folder. That is not on tap for this release, however.

This change adds only one subclass, for mail sync. The code is
largely taken from the EasMailboxSyncHandler, which this replaces.
The contacts and calendar subclasses will follow, as will replacing
the old EasSyncHandler set of classes.

Change-Id: I29e20faa5ff332f7af89e48c11577937fcbc983d
(cherry picked from commit 7e916f8c90f6d785a5b120d3f5a4d0a11097c024)
4 files changed