Fixed bug which was causing IR to not be properly generated. Introduced a new Context which will abstract away LLVMContext.