Minor change to Pass API: use ModulePass now

Hi all,

I just checked in a minor change to the PassManager API that will affect
you if you have Pass classes that are not in LLVM CVS. Basically if you
have a class that derives from the Pass class, change it to derive from
'ModulePass'. Also, instead of implementing 'Pass::run', implement
'ModulePass::runOnModule'.

This change does not affect FunctionPass's or any other pass types, just
module-level Pass's.

If you run into any problems, or have any questions, please let me know!

-Chris