Root dt during construction in interpreter
ClangSA was unhappy about this:
```
/home/keno/julia/src/interpreter.c:239:10: note: Started tracking value here
dt = jl_new_datatype((jl_sym_t*)name, modu, NULL, (jl_svec_t*)para,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/keno/julia/src/interpreter.c:244:23: note: Value may have been GCed here
jl_binding_t *b = jl_get_binding_wr(modu, (jl_sym_t*)name, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/keno/julia/src/interpreter.c:255:9: note: Argument value may have been GCed
jl_set_datatype_super(dt, super);
^ ~~
```
Talking to Jeff and Jameson, these are likely never seen in real code because leaf types are generally rooted
somehow and we don't like collecting them. However, it seems like there's no guarantee that this won't happen
(in contrived) situations, so let's put the root here to be safe.