Handle type variables in a few special places

-- when codegenning a VarSymbol with FLAG_TYPE_VARIABLE
   in LLVM, return the type (and not a value)
-- when doing a PRIM_MOVE in codegen, if the LHS is a type variable,
   do nothing
update externCResolve to not use module initFn

module init fns were removed recently, so
we just add global variables to the module's block
instead.
Don't heap-register type variables

-- when calling PRIM_HEAP_REGISTER_GLOBAL_VAR, don't
   bother calling it for type variables.
getIntermediateDirName fix

-- LLVM backend calls getIntermediateDirName()
-- it returns intDirName which is initialized in ensureTmpDirExists()
-- ensureTmpDirExists() was not being called in LLVM backend
-- ... so made getIntermediateDirName() call ensureTmpDirExists().
Fix up --about for LLVM backend, tidiness

-- added fileinfo chpl_compilation_config to codegen.h
   and made codegen.cpp set it at the appropriate time
-- changed name of file from chpl_compilation_config.h
   to chpl_compilation_config.c because I want to
   easily add it to the clang command line for LLVM compilations
   and it's not really a header anyway
-- include chpl_compilation_config.c in clang compiles
-- don't printf with user-controlled format string;
   instead uses %s format string.