ISPN-4528 Genericize remaining M/R internal classes

Master only. See https://issues.jboss.org/browse/ISPN-4528 for more details. 
I don't see how that is too weird, that is kinda the point of generics IMO (it just makes sure when you provided the concrete types that all the correct types are provided)  TBH having <TDE> is exactly the same as not having if people just use rawtypes :(.  But I agree it doesn't compile, IntelliJ got all confused on me.  Unfortunately this is a limitation with the JVM compilers with wildcards in the subtypes as has been seen in other methods.  So I am fine leaving it as it is.