Fix ICE on const of nullable enum with fields in null case.

That is, if you have an enum type that is subject to the nullable
pointer optimization, but the null variant has a nonzero number of
fields, and you declare a static whose value is of that variant, then
that used to be an ICE but this change fixes it.
auto merge of #11441 : jld/rust/enum-nullable-const-null-with-fields, r=alexcrichton

That is, if you have an enum type that is subject to the nullable
pointer optimization, but the null variant has a nonzero number of
fields, and you declare a static whose value is of that variant, then
that used to be an ICE but this change fixes it.
Removed obsolete 'e' prefix on ty_evec and ty_estr.
Removed free_glue from tydesc (the code is still generated, but inlined in drop_glue).
Use the right type for self in methods and remove obsoleted items.
Fixes #7411, #10615.