nested structs of persistent classes must be public in ROOT 6 (again)

This pull request covers classes that were missed in the previous pull request for various reasons:

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.