Added caching of hash names for Type objects.  Should speed up the
frequent hash operations on types.
Updates that stop LLVM files (.ll) from being recompiled if their source
files haven't changed.

Compiler speed has improved, but a further improvement is coming soon.
Files are redundantly parsed at present.