Reland of Stop passing raw pointers to base::Value API in c/b/ui (patchset #1 id:1 of https://codereview.chromium.org/2820823005/ )

The failure was in code like this:
unique_ptr<Value> f() {
  unique_ptr<ListValue> list;
  ...
  return list;
}

Some compilers already support upcasting like this, but for others this needs to become:
return std::move(list);

The compilation error was not detected by the basic CQ set, so adding the specific bot below:
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:chromeos_x86-generic_chromium_compile_only_ng

Original issue's description:
> Revert of Stop passing raw pointers to base::Value API in c/b/ui (patchset #5 id:80001 of https://codereview.chromium.org/2812953002/ )
>
> Reason for revert:
>
> Findit(https://goo.gl/kROfz5) identified CL at revision 464860 as the
> culprit for failures in the build cycles as shown on:
> https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtLzRhYWM0NzFjYzczOTQyNDliMWEzZDMyYTc3N2QwNTM5YzJhZTU0ZDUM
>
> Original issue's description:
> > Stop passing raw pointers to base::Value API in c/b/ui
> >
> > Passing ownership of base::Value into API methods DictionaryValue::Set,
> > DictionaryValue::SetWithoutPathExpansion, and ListValue::Set through raw
> > pointers is deprecated, can hide bugs and should be done via unique_ptr
> > instead.
> >
> > Therefore, this CL migrates c/b/ui to use the unique_ptr-based API.
> >
> > BUG=581865
> > TBR=dbeam@chromium.org

TBR=derat@chromium.org,dbeam@chromium.org,jdoerrie@chromium.org,alexmos@google.com,estade@chromium.org,msw@chromium.org,loyso@google.com,mastiz@google.com,pfeldman@google.com,paulmeyer@google.com,dpapad@chromium.org,findit-for-me@appspot.gserviceaccount.com
BUG=581865

Review-Url: https://codereview.chromium.org/2814363006
Cr-Commit-Position: refs/heads/master@{#464870}
61 files changed