Lazily create codegen object

Before this patch, we would always create the LlvmCodegen object in
the initialization of the runtime state, regardless of if we actually
could use codegen. With this patch, the codegen object is created upon
first use, so we save the overhead of loading and compiling the module
if no codegen is used.

Change-Id: I2bd6e046bf55fd0ba40441c524a0a0bcf133c17d
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/4470
Reviewed-by: Nong Li <nong@cloudera.com>
Tested-by: jenkins