WIP: Fix #6275

The approach is as follows. On MCJIT with LLVM trunk we get proper line numbers.
On 3.3 we get proper line numbers on Linux (and probably Windows), but on Mac,
you have to use a patched version of LLVM. If you don't use the patched version
of LLVM you'll still get the function names but no line numbers.

This is almost done, just need to add the LLVM patch for 3.3 and test on various platforms.