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/io/FileSystem.h b/tools/aapt2/io/FileSystem.h
index f0559c0..72a932a 100644
--- a/tools/aapt2/io/FileSystem.h
+++ b/tools/aapt2/io/FileSystem.h
@@ -29,7 +29,7 @@
  */
 class RegularFile : public IFile {
 public:
-    RegularFile(const Source& source);
+    explicit RegularFile(const Source& source);
 
     std::unique_ptr<IData> openAsData() override;
     const Source& getSource() const override;
@@ -42,7 +42,7 @@
 
 class FileCollectionIterator : public IFileCollectionIterator {
 public:
-    FileCollectionIterator(FileCollection* collection);
+    explicit FileCollectionIterator(FileCollection* collection);
 
     bool hasNext() override;
     io::IFile* next() override;