Fixes for TAC generation for methods that return types with type
parameters.

Improved (but perhaps slower) type checking resolving the dependencies
between between methods with generic types and the types themselves.

Small LLVM generation fixes.

Updated utility library classes.