Move google-explicit-constructor check to a separate source file.

Summary: No functional changes.

Reviewers: djasper

Reviewed By: djasper

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D4188

git-svn-id: http://llvm.org/svn/llvm-project/clang-tools-extra/trunk@211154 91177308-0d34-0410-b5e6-96231b3b80d8
Unbreak the build after r211244.

These operator overloads were unneeded (once the const correctness in
PooledStringPtr was corrected) and inefficient (since the strings are
pooled the pointers can just be compared for equality instead of doing
strcmp).

git-svn-id: http://llvm.org/svn/llvm-project/clang-tools-extra/trunk@211245 91177308-0d34-0410-b5e6-96231b3b80d8
clang-tidy: [misc-use-override] Correctly handle defaulted destructors.

Also, minor implementation and test fixes.

git-svn-id: http://llvm.org/svn/llvm-project/clang-tools-extra/trunk@211345 91177308-0d34-0410-b5e6-96231b3b80d8