Fixes for enumerations

Two ROOT 6 specific minor improvements/fixes for enumerations.
1) Get the name of an enum directly from the TEnum, rather than storing the name.
2) Since for enumerations, (and in the future, for pointers and C-style arrays), TypeWithDict is no longer guaranteed to have a correct std::type_info available, we order TypeWithDict's by comparing the fully scoped names, rather than comparing the type_info's.
Please merge this as soon as convenient.