Methodize TypeNames
Change calls for TypeName stuff to methods
Make log_fn_time a method
Start refacting LLVM Type handling
More Type refactorings
Add the rest of the atomic operations.

This makes the handling of atomic operations more generic, which
does impose a specific naming convention for the intrinsics, but
that seems ok with me, rather than having an individual case for
each name.

It also adds the intrinsics to the the intrinsics file.
Initial Type Refactoring done
Finish up Type refactoring
Fix warnings in trans
Move count-llvm-insn code into task-local storage
Fix-up PP Code to reflect new lifetime param syntax