Improving debugging.

1. Adding a pseudojit mode that can write out shared libraries and link them back in. This
typically uses the systems linker, which means other tools are more likely to see debug info for terra functions.
Since this makes compilation _really_ slow, it is only enabled at a debug level of 2. It also needs mcjit turned on:

This enables this mode:
./terra -mgg file.t

2. Improved the way we write DWARF debug info. Combined with (1) this means that gdb can pick up debug information.

3. Enabled saveobj to write shared libraries. See sharedlib.t for an example.
use absolute path for debug info so more tools can find the files.
Merge branch 'master' of github.com:zdevito/terra