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

The patch does minor cleanups and create unique namespaces based
on package name.

The change 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.

Very minimal misc. cleanups were done in some cases. Should not change
checksum, it's a technical change. Tested on CMSSW_7_0_ROOT6_X_2013-11-22-0200
only currently. Resolves 10 001 errors on ROOT6 build.

Please, review.

Signed-off-by: David Abdurachmanov <David.Abdurachmanov@cern.ch>