PassInfoMixin should be used for all NPM passes, rater than a custom
name().
This caused ambiguous references in LegacyPassManager.cpp, so had to
remove "using namespace llvm::legacy" and move some things around.
The passes had to be moved to the llvm namespace, or else they would get
printed as "(anonymous namespace)::FooPass".
How about keeping this local? These are only for testing.