Initial (messy) version of LLVM code generation with debug information.

Initial version of LLVM code generation added. There is full support for debug information except for local variables. The code is very messy and will undergo major refactoring.