Change forward declartion from struct to class for clang

The clang compiler (correctly) complains that a forward declaration
was not matching the actuall declaration.
Merge pull request #4963 from Dr15Jones/clangFixForAssociativeIterator

Change forward declartion from struct to class for clang
Merge remote branch 'origin/CMSSW_7_2_X' into CMSSW_7_0_X