Fix clang-tidy warnings in aapt and aapt2.

* Add explicit keyword to conversion constructors.
* Add NOLINT(implicit) comments for implicit conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Add NOLINT to suppress wrong clang-tidy warnings on macros.
Test: build with WITH_TIDY=1

Change-Id: Ibfafb23d9be463b4072745a51a6d9f1812dcac45
diff --git a/tools/aapt2/compile/Png.h b/tools/aapt2/compile/Png.h
index 345ff6c..f835b06e 100644
--- a/tools/aapt2/compile/Png.h
+++ b/tools/aapt2/compile/Png.h
@@ -32,7 +32,7 @@
 
 class Png {
 public:
-    Png(IDiagnostics* diag) : mDiag(diag) {
+    explicit Png(IDiagnostics* diag) : mDiag(diag) {
     }
 
     bool process(const Source& source, std::istream* input, BigBuffer* outBuffer,