llvm Implementation Cleanup

Removed llvm tutorial dependency on global variables, thus ensuring that
the code is thread safe by way of accepting a reference to an LLVM
context.