Dictionary (classes*h) must have unique namespace or/and struct name

This pull request creates or corrects unique namespaces based on package name.  This fix is needed for ROOT6 as classes*h files becomes a payload embedded into ROOT6 dictionary, which is executed in an interpreter (Cling) during dictionary loading procedure.