Initial LLVM3.5 support

LLVM 3.5 is going to be released **very** soon and RC2 is already available so the LLVM3.5 API should be stable. These commits patch KLEE to compile against LLVM3.5.

Some of the big changes are ....

* we **must** compile with C++11 for LLVM3.5 . I've taught the configure script to do the right thing for LLVM3.5 and newer and added a configure flag to force C++11 as well.
* The introduction of LLVM's ``ErrorOr<T>`` has made the code a lot more complicated.
* The archive linking code is a total mess. It compiles but it's very hard to read! This needs fixing

These commits could certainly do with a tidy but I think it's a good start.