Fix GrpcCodegen initialization
Fix GrpcCodegen initialization

Initializing GrpcCodegen as a global static variable
is problematic because it is possible for it to get
destructed before the last instance of `GrpcLibraryCodegen`
gets destructed and leaves the program dealing with
a dangling pointer (imagine a scenario where another
thread is using gRPC resources and the main thread
tries to join it in an object's destructor after
main ends and CoreCodegen is destructed.)

In fact, Google style guide explicitly forbids
non-trivially-destructible global variables of static
storage duration for this and other reasons and the
solution in this commit is among the recommended
workarounds referenced in
https://google.github.io/styleguide/cppguide.html#Static_and_Global_Variables

muxi/grpc,ejona86/grpc,vjpai/grpc,jtattermusch/grpc,ctiller/grpc,sreecha/grpc,carl-mastrangelo/grpc,donnadionne/grpc,pszemus/grpc,sreecha/grpc,sreecha/grpc,ejona86/grpc,jtattermusch/grpc,mehrdada/grpc,jtattermusch/grpc,jboeuf/grpc,pszemus/grpc,ctiller/grpc,carl-mastrangelo/grpc,ctiller/grpc,muxi/grpc,ctiller/grpc,nicolasnoble/grpc,carl-mastrangelo/grpc,jtattermusch/grpc,nicolasnoble/grpc,sreecha/grpc,grpc/grpc,grpc/grpc,carl-mastrangelo/grpc,donnadionne/grpc,sreecha/grpc,jboeuf/grpc,stanley-cheung/grpc,nicolasnoble/grpc,grpc/grpc,mehrdada/grpc,pszemus/grpc,stanley-cheung/grpc,grpc/grpc,jtattermusch/grpc,mehrdada/grpc,muxi/grpc,jboeuf/grpc,muxi/grpc,muxi/grpc,grpc/grpc,donnadionne/grpc,vjpai/grpc,carl-mastrangelo/grpc,stanley-cheung/grpc,ejona86/grpc,pszemus/grpc,carl-mastrangelo/grpc,stanley-cheung/grpc,carl-mastrangelo/grpc,donnadionne/grpc,vjpai/grpc,stanley-cheung/grpc,firebase/grpc,vjpai/grpc,jboeuf/grpc,stanley-cheung/grpc,donnadionne/grpc,ctiller/grpc,nicolasnoble/grpc,jboeuf/grpc,muxi/grpc,muxi/grpc,muxi/grpc,firebase/grpc,pszemus/grpc,vjpai/grpc,nicolasnoble/grpc,ejona86/grpc,nicolasnoble/grpc,stanley-cheung/grpc,donnadionne/grpc,donnadionne/grpc,donnadionne/grpc,nicolasnoble/grpc,ctiller/grpc,ejona86/grpc,jtattermusch/grpc,vjpai/grpc,jboeuf/grpc,donnadionne/grpc,jtattermusch/grpc,mehrdada/grpc,firebase/grpc,carl-mastrangelo/grpc,sreecha/grpc,muxi/grpc,pszemus/grpc,vjpai/grpc,pszemus/grpc,pszemus/grpc,firebase/grpc,sreecha/grpc,ejona86/grpc,grpc/grpc,mehrdada/grpc,vjpai/grpc,grpc/grpc,stanley-cheung/grpc,ctiller/grpc,ejona86/grpc,muxi/grpc,jtattermusch/grpc,carl-mastrangelo/grpc,sreecha/grpc,mehrdada/grpc,firebase/grpc,ctiller/grpc,jboeuf/grpc,nicolasnoble/grpc,carl-mastrangelo/grpc,jtattermusch/grpc,grpc/grpc,ctiller/grpc,mehrdada/grpc,firebase/grpc,pszemus/grpc,firebase/grpc,jboeuf/grpc,mehrdada/grpc,carl-mastrangelo/grpc,mehrdada/grpc,mehrdada/grpc,nicolasnoble/grpc,pszemus/grpc,jtattermusch/grpc,sreecha/grpc,grpc/grpc,ejona86/grpc,jtattermusch/grpc,vjpai/grpc,stanley-cheung/grpc,stanley-cheung/grpc,firebase/grpc,jboeuf/grpc,ctiller/grpc,firebase/grpc,ejona86/grpc,vjpai/grpc,grpc/grpc,pszemus/grpc,jtattermusch/grpc,firebase/grpc,jboeuf/grpc,grpc/grpc,pszemus/grpc,mehrdada/grpc,muxi/grpc,ejona86/grpc,nicolasnoble/grpc,firebase/grpc,stanley-cheung/grpc,carl-mastrangelo/grpc,mehrdada/grpc,jboeuf/grpc,donnadionne/grpc,vjpai/grpc,ejona86/grpc,jboeuf/grpc,donnadionne/grpc,donnadionne/grpc,grpc/grpc,vjpai/grpc,sreecha/grpc,nicolasnoble/grpc,muxi/grpc,ctiller/grpc,ejona86/grpc,ctiller/grpc,firebase/grpc,nicolasnoble/grpc,sreecha/grpc,stanley-cheung/grpc,sreecha/grpc