llvm-base: Move all pass declarations to extra.h

Move all pass declarations and definitions to extra.h.
This way consistency is maintained between extra.h and extra.cpp

When extra.h is included from extra.cpp LLVM_PY_EXTRA_CPP_DEFINE_PASSES is
defined. This makes the declare_or_define_pass macro expand to a function definition
instead of a declaration.

When extra.h is included normally, the declare_or_define_pass macro will expand to
a function declaration.