[clang-tidy] Add namespaces checkers.

This change contains of two checkers that warn about
1. anonymous namespaces in header files.
2. 'using namespace' directives everywhere.

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@213153 91177308-0d34-0410-b5e6-96231b3b80d8
[clang-tidy] Add a checker for zero-length memset.

If there's memset(x, y, 0) in the code it's most likely a mistake. The
checker suggests a fix-it to swap 'y' and '0'.

I think this has the potential to be promoted into a general clang warning
after some testing in clang-tidy.

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@213155 91177308-0d34-0410-b5e6-96231b3b80d8
[clang-tidy] Also emit a warning for memset(x, 0, 0)

It doesn't make sense to suggest swapping the arguments here but it's
still useless code

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