[Sync] Add size and crc32c to AttachmentId.

The purpose of this change is to ensure that if a client knows about an
attachment (i.e. has an AttachmentId or AttachmentIdProto) it will know
the attachment's size even if the attachment has never been available on
the local device.

The idea is that by storing size locally, we can simplify remote storage
management.

Move crc32c out of Attachment now that it's part of AttachmentId.

BUG=464431

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

Cr-Commit-Position: refs/heads/master@{#319794}
28 files changed