LLVM 3.1

These changes to llvm-base are for compatibility with LLVM 3.1. In 3.1:

* several backends have been removed (Alpha, Blackfin, PIC16, ...)
* a few passes have gone as well, 
* there are some minor API tweaks that required some changes in extra.cpp (mostly for the direct object emission that I added before).

I tested these changes with the examples from the llvm package proper, and they all seemed to work. I also bumped the version numbers in the cabal and configure.ac.