Added support for printing Expr to llvm::raw_ostream

The implementation is a little hacky but is far simpler than changing
all the code to use llvm::raw_ostream instead of std::ostream.

Now we can do things like:

```
    #include <llvm/Support/Debug.h>
    ...
    ref<Expr> e = /* Some expression */
    DEBUG_WITH_TYPE("klee_something", dbgs() << "Expression:" << e << "\n");
```

We should probably come up with a convention for writing debug information out in KLEE e.g.

For solver stuff use

```
 DEBUG_WITH_TYPE("klee_solver", dbgs() << "Expression:" << e << "\n");
// only shows output when use -debug=klee_solver command line argument and with Debug build.
```

For executor stuff use

```
 DEBUG_WITH_TYPE("klee_executor", dbgs() << "Expression:" << e << "\n");
// only shows output when use -debug=klee_executor command line argument and with Debug build.
```

The DEBUG macros is documented in the [LLVM programmer's manual](http://llvm.org/docs/ProgrammersManual.html#the-debug-macro-and-debug-option)