Fixed some minor glitches.
Added support for several new linkage types.
Split TvmCompiler into several classes to facilitate building binary objects.

The JIT part is much the same as before, but I've separated out a lot of
common code and created a subclass suitable for building objects,
although it is not yet implemented.