Added ReusableObjectHolder class

The class ReusableObjectHolder is a thread safe caching
system which allows one to create objects as needed and
be able to reuse those objects once they are no longer in
use.
Merge pull request #4853 from Dr15Jones/reusableObjectHolder

Added ReusableObjectHolder class
Merge remote branch 'origin/CMSSW_7_2_X' into CMSSW_7_0_X