Attempted to add LLVM 3.4 compatibility.

This is my admittedly probably awful attempt at adding compatibility to
Idris for LLVM v3.4.*.

There is a change to the cabal file to cater for either `3.3.8.*` or
`3.4.*.`

There is also a change to the output function for writing the LLVM code
that needed a `LLVM.General.Module.File` type and not `FilePath` or `String`.

I have not been able to test this properly on LLVM 3.3 yet.

Not expecting this to be accepted as is, it feels hacky could be useful
starting point if someone feels so inclined. Will correct, improve, or adjust 
as needed if people want to continue.