Fix layering violation in //components/translate/ios/browser

As documented in //components/README.md, code in components must not
depend on higher-level layers of the Chromium codebase, including
//ios/chrome.

Move ukm_url_recorder.* and tests from ios/chrome/browser/metrics to
components/ukm/ios (to parallel the version in content that is found
in components/ukm/content).

Fix UkmUrlRecorderTest to use WebTestWithWebState instead of the
unavailable (due to layering violation) ChromeWebTest.

Bug: 754895
Change-Id: I829486037063f16fe5fca5b7617017c0530a1859
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1878649
Auto-Submit: Sylvain Defresne <[email protected]>
Reviewed-by: Jochen Eisinger <[email protected]>
Reviewed-by: Robert Kaplow <[email protected]>
Reviewed-by: Olivier Robin <[email protected]>
Commit-Queue: Sylvain Defresne <[email protected]>
Cr-Commit-Position: refs/heads/master@{#710273}
21 files changed