[Sync] Refactor AttachmentStore classes. Introduce concept of referrer.

In this change:
- Move towards following class hierarchy: http://www.plantuml.com:80/plantuml/png/ZPBTJiCm38NlynIvv4TzWsaI525nCI5jkw-on1EZQHmvwQG9U7TC4-ZeKiITvNm-EiSExbv1Hxc6VOszYs24mDHQeG6xFNcGRqBAknYLVkd0nKr40l7nmqrU1deDeRUHYrfPkrEw3LmJx848YCkWqODfkECZBIOAZuHin9abWxUo9b0Hdjt38RGJyEhwZ4YZI9kJq_mmRp0pAPKnd7pGgG8t6usTHyVe7_FPtY3mbOth9ghGDjGxTnwlaEq-ySjv-KmCwZflxvVyE5bSIa4Mw7ZGyDHvAyHurPkgkhZgz9PuoNp75tDhAUZcJ68cwkATHyfXnFWn4_PFDsKuNLuKLrFodGS-0G00
- Remove AttachmenService::GetStore. Now attachment store is owned by
  model type, there is no need to get it from AttachmentService
- Introduce AttachmentReferrer. There is no functionality behind it yet
  and interface is not complete for it. These will come in the next change.

BUG=457735
R=maniscalco@chromium.org
TEST=Not exposed in chrome. Only unit tests available (sync_unit_tests)

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

Cr-Commit-Position: refs/heads/master@{#319733}
44 files changed