Try out clang-tidy, starting with bugprone-use-after-move

 - add drop-in clang-tidy cxx wrapper
 - get build clean for bugprone-use-after-move

The wrapper can be used by setting

   cxx = "/path/to/skia/tools/clang-tidy.sh"

in GN.

Change-Id: Idbba911e23bd6ef7530b08fd31906b92c1c1b28c
Reviewed-on: https://skia-review.googlesource.com/c/176523
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/GrRenderTargetOpList.cpp b/src/gpu/GrRenderTargetOpList.cpp
index 1eec9d8..b42b265 100644
--- a/src/gpu/GrRenderTargetOpList.cpp
+++ b/src/gpu/GrRenderTargetOpList.cpp
@@ -308,7 +308,7 @@
     std::tie(fList, chain) =
             TryConcat(std::move(fList), this->dstProxy(), fAppliedClip, std::move(chain), *dstProxy,
                       appliedClip, caps, pool, auditTrail);
-    if (!chain.empty()) {
+    if (!chain.empty()) {  // NOLINT(bugprone-use-after-move)
         // append failed, give the op back to the caller.
         this->validate();
         return chain.popHead();