Reland: Normalize shipping address for merchant on Desktop.

The CL was causing some tests to fail, because the
FakeAddressNormalizer in tests initialized the
AddressValidator with a null storage, which triggered an
assertion failure in some cases.

By creating an AddressNormalizer interface, the
FakeAddressNormalizer doesn't need to create an
AddressValidator object and can be used in test more easily.

BUG=707765

Original CL: https://codereview.chromium.org/2829503002/

Review-Url: https://codereview.chromium.org/2829903004
Cr-Commit-Position: refs/heads/master@{#466369}
21 files changed