Upgrade the Giri code to LLVM 3.4

The main changes are:
 - The header files
 - The useless code is deleted
 - Rename of TargetData to DataLayout
 - Add -ltinfo to LDFLAGS of Makefile
Merge branch 'master' into dev
Fix the bug of insert the Giri ctor to global list

Previously we manually create the old global variable of constructors
and fill it with new values. This is replaced by the util function named
appendToGlobalCtors(). Secondly, we don't insert the giri ctor at the
finalization method of the TracingNoGiri for each module. Instead, we
insert it at the initialization method of the TracingNoGiri for each
module.