[Extensions] Don't store ExternalInstallInfo in vectors of pointers

ExternalInstallInfos are currently stored in
std::vector<std::unique_ptr<T>>s, but they should just be stored in
std::vector<T>s (where T is either ExternalInstallInfoFile or
ExternalInstallInfoUpdateUrl). Once constructed, the vectors
themselves are never passed, so the only time moves are necessary is
during vector resizing, which for the number of external extensions
users should be relatively rare. Additionally, the structs themselves
are fairly cheap to move. Save on dynamic allocations and just store
these in std::vectors.

[email protected] for customization/customization_document_unittest.cc

Bug: 770007
Change-Id: Ic3e3ea2de8ee09455fc021914eba20e1bdca2df0
Reviewed-on: https://chromium-review.googlesource.com/692975
Commit-Queue: Devlin <[email protected]>
Reviewed-by: Karan Bhatia <[email protected]>
Cr-Commit-Position: refs/heads/master@{#505501}
11 files changed