Avoid linDef files for root6

Although the format of LinkDef.h files is the same in ROOT5 and ROOT6, the effects are not necessarily the same.
Because of this, some needed dictionaries were not loaded. and many framework unit tests failed against ROOT6.
LinkDef.h files were used in the framework for historical reasons only. The easiest way to fix the test errors is to use classes_def.xml and classes.h consistently throughout the framework for generating ROOT6 dictionaries.
Some minor refactoring of code in IOPool/TFileAdaptor was needed to do this.
While we could in principle the same for ROOT 5, this is non-trivial in ROOT5 because two of the classes in question inherit from TObject.  Because of the complexities of CINT, Cintex, and Reflex, additional work would be needed for ROOT5.
This pull request fixes many framework unit test errors against ROOT6.