Prevent NPE in TStructDescriptor when an unexpected enum is encountered ...

...by returning an empty map.

When an out-of-date thrift definition is used, and a new enum field is encountered, currently the enum map can be null, which results in an NPE. It seems like it is better to return an empty map and let the caller deal with the fact that the map doesn't contain all the enums the caller will encounter (the caller is then free to increment error counters, etc).