Protect against inaccurate type_info information

ROOT 6 does not supply type_info information for types that are not classes (e.g. enums, C-style arrays, pointers).  We can get the type_info information for built-in types (e.g int) by other means.  However, TypeWithDict::typeInfo() can return incorrect information for enums, C-style arrays, or pointers.  This pull request protects against this.  If TypeWithDict::typeInfo() is called, and the correct type_info information is not available, an assert will occur, rather than returning incorrect information.
This is not a common case, as no asserts were encountered in unit tests for these packages or for any relval tests in the short relval matrix.
Any such asserts encountered in the future will be fixed in a case by case basis, as there is no clear general solution for this problem in CMSSW.
Please merge this pull request as soon as convenient.