Reland "[base] Implement std::size(), std::empty() and std::data()"

This is a reland of f6c12979e9fd4b9a65b6a88da966ead7014cd227

Original change's description:
> [base] Implement std::size(), std::empty() and std::data()
>
> This change provides C++14 implementations of C++17's std::size(),
> std::empty() and std::data().
>
> Bug: 828324
> Change-Id: If1b83826a23b26fd557f7854962bcbc771a7ffe0
> Reviewed-on: https://chromium-review.googlesource.com/992236
> Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Reviewed-by: kylechar <kylechar@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#550137}

TBR=dcheng@chromium.org,kylechar@chromium.org

Bug: 828324
Change-Id: I4c3e637129aaaf277d83ca07b4705dc3b815183b
Reviewed-on: https://chromium-review.googlesource.com/1011962
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550565}

CrOS-Libchrome-Original-Commit: 8f516045b121bee414322dcfc762470f5310d427
2 files changed
tree: 2a18e84880ae5862a1faa2d7eaa85f322d2ad275
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/