For ROOT6 dictionary generation, nested class/struct must be public.

ROOT 6 cannot create a dictionary for any class that has a private nested class/struct definition.
This pull request makes all  nested class/struct definitions public for classes for which there is a dictionary specification.
Note that this pull request does not make any data members public.  It only makes the definitions of the nested class/struct public.
This has been tested with checkdeps -a and the relval matrix.

In some cases, the declarations were moved to keep the public and private sections of the class each contiguous.