This streamlines the boiler plate nonsense in the Reactive* classes and moves it to an extension interface.

Putting this up just for a quick look, I did it to 2 of the umpteen classes that are similar, if this approach makes sense, I will do this for all the other classes with the same boiler plate and then put it up again for a final review before merging.
Fix the compiler issues, this will obviously need to be tested significantly more now
convert the rest
Remove serialization cruft
Style Fixups
Merge branch 'streamline_boilerplate' into rxui6-master